📄 formmain.vb
字号:
'
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 + -