⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 formmain.vb

📁 Visual Basic.net 实例入门
💻 VB
📖 第 1 页 / 共 2 页
字号:
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
        Me.ClientSize = New System.Drawing.Size(344, 213)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.rtContent})
        Me.Menu = Me.MainMenu1
        Me.Name = "formMain"
        Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
        Me.Text = "记事本"
        Me.ResumeLayout(False)

    End Sub

#End Region

    Dim bSave As Boolean
    Private Sub mNew_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Mnew.Click
        Dim flag As Integer
        If bSave Then
            rtContent.Clear()
            SaveFileDialog1.FileName = ""
            bSave = True
            '如果文本已被保存,则清空rtContent内容,重置变量以新建文本
        Else
            flag = MessageBox.Show("文件的文字已经改变。想保存文件吗?", "记事本", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning)
            '如果文本内容尚未保存,则弹出消息对话框询问用户如何处理
            Select Case flag
                Case 6
                    '用户选择“保存”,执行保存文件的操作
                    If SaveFileDialog1.FileName = "" Then
                        If SaveFileDialog1.ShowDialog() Then
                            rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                        End If
                        '如果尚未选择要保存的文件名,则弹出保存保存对话框,用户选择要保存的文件名后保存文本
                    Else
                        rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                        '如果已经选择了要保存的文件名,则保存文本到文件中
                    End If
                    bSave = True
                    rtContent.Clear()
                    SaveFileDialog1.FileName = ""
                    '清空rtContent内容,重置变量以新建文本
                Case 7
                    rtContent.Clear()
                    SaveFileDialog1.FileName = ""
                    bSave = True
                    '用户选择“不保存”,立即清空rtContent内容,重置变量以新建文本
                Case Else
                    '用户选择“取消”,取消这次新建操作,即什么都不做
            End Select

        End If
    End Sub

    Private Sub formMain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load
        bSave = True
        '为全局变量赋初值


        SaveFileDialog1.FileName = ""
        SaveFileDialog1.DefaultExt = "txt"
        SaveFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
        SaveFileDialog1.Title = "保存"

        OpenFileDialog1.FileName = ""
        OpenFileDialog1.DefaultExt = "txt"
        OpenFileDialog1.Filter = "Text files (*.txt)|*.txt|All files (*.*)|*.*"
        OpenFileDialog1.Title = "打开"
        '对控件属性进行初始化
    End Sub

    Private Sub rtContent_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles rtContent.TextChanged
        bSave = False
        '文本发生了改变,则将变量bSave置为False
    End Sub

    Private Sub mSave_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mSave.Click
        If SaveFileDialog1.FileName = "" Then
            If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
                rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
            End If
            '尚未选择要保存的文件名,弹出保存保存对话框,用户选择要保存的文件名后保存文本
        Else
            rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
            '已经选择了要保存的文件名,保存文本到文件中
        End If
        bSave = True
    End Sub

    Private Sub mSaveAs_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mSaveAs.Click
        SaveFileDialog1.Title = "另存为"
        '将保存文件窗口标题改为与此功能相对应的“另存为”
        If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
            rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
            bSave = True
        End If
        SaveFileDialog1.Title = "保存"
        '将标题改回原来的值
    End Sub

    Private Sub mOpen_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles MOpen.Click
        Dim flag As Integer
        If Not bSave Then
            '文本内容尚未保存,弹出消息对话框询问用户如何处理
            flag = MessageBox.Show("文件的文字已经改变。想保存文件吗?", "记事本", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning)
            Select Case flag
                Case 6
                    '用户选择了“保存”,先执行保存文件操作
                    If SaveFileDialog1.FileName = "" Then
                        If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
                            rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                        End If
                        '尚未选择要保存的文件名,弹出保存保存对话框,用户选择要保存的文件名后保存文本
                    Else
                        rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                        '已经选择了要保存的文件名,保存文本到文件中
                    End If
                    bSave = True
                    If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                        rtContent.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                    End If
                    '弹出打开文件对话框,执行打开文件操作
                Case 7
                    '用户选择了“不保存”,则直接执行打开文件操作
                    If OpenFileDialog1.ShowDialog() = DialogResult.OK Then
                        rtContent.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                    End If
                    bSave = True
                Case Else
                    '用户选择“取消”
            End Select
        Else
            '文本已经保存,直接执行打开文件操作
            If OpenFileDialog1.ShowDialog = DialogResult.OK Then
                rtContent.LoadFile(OpenFileDialog1.FileName, RichTextBoxStreamType.PlainText)
            End If
            bSave = True
        End If
    End Sub

    Private Sub mCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mUndo.Click
        rtContent.Undo()
        '撤消
    End Sub

    Private Sub mCut_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles mCut.Click
        rtContent.Cut()
        '剪切
    End Sub

    Private Sub mCopy_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mCopy.Click
        rtContent.Copy()
        '复制
    End Sub

    Private Sub mPaste_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mPaste.Click
        rtContent.Paste()
        '粘贴
    End Sub

    Private Sub mDel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mDel.Click
        rtContent.Cut()
        '删除,这里使用Cut方法以达到删除的效果
    End Sub

    Private Sub mSelectAll_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mSelectAll.Click
        rtContent.SelectAll()
        '全选
    End Sub

    Private Sub mFont_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mFont.Click
        If FontDialog1.ShowDialog() = DialogResult.OK Then
            rtContent.Font = FontDialog1.Font
        End If
        '选择字体
    End Sub

    Private Sub mAbout_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mAbout.Click
        Dim fAbout As New formAbout()
        fAbout.Show()
        '“关于”窗口
    End Sub

    Private Sub mExit_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mExit.Click
        Close()
        '退出记事本
    End Sub

    Private Sub Form1_Closing(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MyBase.Closing
        '在关闭窗体之前判断文本是否需要保存
        If bSave = False Then
            Dim flag As Integer
            flag = MessageBox.Show("文件的文字已经改变。想保存文件吗?", "记事本", MessageBoxButtons.YesNo, MessageBoxIcon.Warning)
            Select Case flag
                Case 6
                    '用户选择保存文件,执行相应的保存文件的功能
                    If SaveFileDialog1.FileName = "" Then
                        If SaveFileDialog1.ShowDialog() = DialogResult.OK Then
                            rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                        End If
                    Else
                        rtContent.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText)
                    End If
                Case Else
                    '不保存
            End Select
        End If
    End Sub





End Class

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -