VB.NET完成一个功能增强的记事本VB.NET完成一个功能增强的记事本

VB.NET完成一个功能增强的记事本

分类: DotNet 153人阅读 评论(0) 收藏 举报

想必大家都听说过Notepad2,Notepad++一类的记事本增强软件,想自己也写一个吗?

今天教大家用用VB.NET写了一个功能增强的记事本(支持全文字数统计、选中部分字数统计、支持doc、rtf格式等)

先上图:


感觉如果不错的话,看看源码吧:

  1. PublicClassMainForm
  2. DimFileNameAsString="无标题"
  3. DimwordAsString=""
  4. DimMLAsBoolean=False
  5. PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
  6. Me.StartPosition=FormStartPosition.CenterScreen
  7. Me.Text=FileName+"-"+"记事本——AngelHacker"
  8. RichTextBox1.WordWrap=False
  9. RichTextBox1.ContextMenuStrip=ContextMenuStrip1
  10. RichTextBox1.ScrollBars=RichTextBoxScrollBars.Both
  11. 新建NToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.N
  12. 打开OToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.O
  13. 保存SToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.S
  14. 剪切TToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.X
  15. 复制CToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.C
  16. 粘贴PToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.V
  17. 全选AToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.A
  18. 删除LToolStripMenuItem.ShortcutKeys=Keys.Delete
  19. 查找FToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.F
  20. 查找下一个NToolStripMenuItem.ShortcutKeys=Keys.F3
  21. 查找下一个NToolStripMenuItem.Enabled=False
  22. EndSub
  23. PrivateSub新建NToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles新建NToolStripMenuItem.Click
  24. RichTextBox1.Text=""
  25. FileName="无标题"
  26. Me.Text=FileName+"-"+"记事本——AngelHacker"
  27. EndSub
  28. PrivateSub打开OToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles打开OToolStripMenuItem.Click
  29. OpenFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  30. OpenFileDialog1.FileName=""
  31. IfOpenFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  32. ExitSub
  33. Else
  34. RichTextBox1.Text=""
  35. FileName=OpenFileDialog1.FileName
  36. SelectCaseOpenFileDialog1.FilterIndex
  37. Case"1"
  38. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.PlainText)
  39. Case"2"
  40. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.RichText)
  41. CaseElse
  42. OnErrorGoTotxt
  43. RichTextBox1.LoadFile(FileName)
  44. EndSelect
  45. Me.Text=FileName+"-"+"记事本——AngelHacker"
  46. EndIf
  47. ExitSub
  48. txt:
  49. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.PlainText)
  50. EndSub
  51. PrivateSub保存SToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles保存SToolStripMenuItem.Click
  52. IfMe.Text="无标题-记事本——AngelHacker"Then
  53. SaveFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  54. SaveFileDialog1.FileName=""
  55. SaveFileDialog1.CheckPathExists=True
  56. IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  57. ExitSub
  58. Else
  59. SelectCaseSaveFileDialog1.FilterIndex
  60. Case"1"
  61. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.PlainText)
  62. Case"2"
  63. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.RichText)
  64. CaseElse
  65. RichTextBox1.SaveFile(SaveFileDialog1.FileName)
  66. EndSelect
  67. Me.Text=SaveFileDialog1.FileName+"-"+"记事本——AngelHacker"
  68. EndIf
  69. Else
  70. SelectCaseMid(Me.Text,Me.Text.Length-21,3)
  71. Case"txt"
  72. RichTextBox1.SaveFile(Mid(Me.Text,1,Me.Text.Length-18),RichTextBoxStreamType.PlainText)
  73. Case"rtf"
  74. RichTextBox1.SaveFile(Mid(Me.Text,1,Me.Text.Length-18),RichTextBoxStreamType.RichText)
  75. CaseElse
  76. RichTextBox1.SaveFile(Mid(Me.Text,1,Me.Text.Length-18))
  77. EndSelect
  78. EndIf
  79. EndSub
  80. PrivateSub另存为AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles另存为AToolStripMenuItem.Click
  81. SaveFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  82. SaveFileDialog1.FileName=""
  83. SaveFileDialog1.CheckPathExists=True
  84. IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  85. ExitSub
  86. Else
  87. SelectCaseSaveFileDialog1.FilterIndex
  88. Case"1"
  89. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.PlainText)
  90. Case"2"
  91. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.RichText)
  92. CaseElse
  93. RichTextBox1.SaveFile(SaveFileDialog1.FileName)
  94. EndSelect
  95. Me.Text=SaveFileDialog1.FileName+"-"+"记事本——AngelHacker"
  96. EndIf
  97. EndSub
  98. PrivateSub退出XToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出XToolStripMenuItem.Click
  99. End
  100. EndSub
  101. PrivateSub重置UToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles重置UToolStripMenuItem.Click,重置UToolStripMenuItem1.Click
  102. RichTextBox1.Text=""
  103. RichTextBox1.SelectionStart=1
  104. word=""
  105. 查找下一个NToolStripMenuItem.Enabled=False
  106. RichTextBox1.Font=Font
  107. EndSub
  108. PrivateSub剪切TToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles剪切TToolStripMenuItem.Click,剪切TToolStripMenuItem1.Click
  109. RichTextBox1.Cut()
  110. EndSub
  111. PrivateSub复制CToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles复制CToolStripMenuItem.Click,复制CToolStripMenuItem1.Click
  112. RichTextBox1.Copy()
  113. EndSub
  114. PrivateSub粘贴PToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles粘贴PToolStripMenuItem.Click,粘贴PToolStripMenuItem1.Click
  115. RichTextBox1.Paste()
  116. EndSub
  117. PrivateSub全选AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles全选AToolStripMenuItem.Click,全选AToolStripMenuItem1.Click
  118. RichTextBox1.SelectAll()
  119. EndSub
  120. PrivateSub删除LToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除LToolStripMenuItem.Click,删除DToolStripMenuItem.Click
  121. RichTextBox1.Text=RichTextBox1.Text.Remove(RichTextBox1.SelectionStart,RichTextBox1.SelectionLength)
  122. EndSub
  123. PrivateSub字数统计ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles字数统计ToolStripMenuItem.Click,字数统计SToolStripMenuItem.Click
  124. IfRichTextBox1.SelectedText=""Then
  125. MsgBox("全文共"+RichTextBox1.TextLength.ToString+"字符")
  126. Else
  127. MsgBox("选中的字符数为"+RichTextBox1.SelectionLength.ToString)
  128. EndIf
  129. EndSub
  130. PrivateSub自动换行WToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles自动换行WToolStripMenuItem.Click
  131. IfML=FalseThen
  132. RichTextBox1.WordWrap=True
  133. 自动换行WToolStripMenuItem.Checked=True
  134. ML=True
  135. Else
  136. RichTextBox1.WordWrap=False
  137. 自动换行WToolStripMenuItem.Checked=False
  138. ML=False
  139. EndIf
  140. EndSub
  141. PrivateSub关于AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles关于AToolStripMenuItem.Click
  142. AboutBox1.ShowDialog()
  143. EndSub
  144. PrivateSub字体FToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles字体FToolStripMenuItem.Click
  145. IfFontDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  146. ExitSub
  147. Else
  148. RichTextBox1.Font=FontDialog1.Font
  149. EndIf
  150. EndSub
  151. PrivateSub查找FToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查找FToolStripMenuItem.Click
  152. word=InputBox("查找内容","查找")
  153. Ifword=""Then
  154. ExitSub
  155. Else
  156. DimaAsInteger=RichTextBox1.Find(word,RichTextBox1.SelectionStart,RichTextBoxFinds.MatchCase)
  157. Ifa=-1Then
  158. MsgBox("找不到"+""""+word+"""")
  159. Else
  160. 查找下一个NToolStripMenuItem.Enabled=True
  161. ExitSub
  162. EndIf
  163. EndIf
  164. EndSub
  165. PrivateSub查找下一个NToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查找下一个NToolStripMenuItem.Click
  166. DimwzAsInteger
  167. IfRichTextBox1.SelectionStart=RichTextBox1.TextLengthThen
  168. MsgBox("找不到"+""""+word+"""")
  169. Else
  170. wz=RichTextBox1.SelectionStart
  171. wz+=1
  172. DimaAsInteger=RichTextBox1.Find(word,wz,RichTextBoxFinds.MatchCase)
  173. Ifa=-1Then
  174. MsgBox("找不到"+""""+word+"""")
  175. Else
  176. ExitSub
  177. EndIf
  178. EndIf
  179. EndSub
  180. PrivateSub时间日期DToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles时间日期DToolStripMenuItem.Click
  181. IfML=FalseThen
  182. RichTextBox1.Text+=Date.Now
  183. Else
  184. RichTextBox1.Text+=Chr(13)&Chr(10)&Date.Now
  185. EndIf
  186. EndSub
  187. EndClass
Public Class MainForm Dim FileName As String = "无标题" Dim word As String = "" Dim ML As Boolean = False Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.StartPosition = FormStartPosition.CenterScreen Me.Text = FileName + " - " + "记事本——AngelHacker" RichTextBox1.WordWrap = False RichTextBox1.ContextMenuStrip = ContextMenuStrip1 RichTextBox1.ScrollBars = RichTextBoxScrollBars.Both 新建NToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.N 打开OToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.O 保存SToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.S 剪切TToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.X 复制CToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.C 粘贴PToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.V 全选AToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.A 删除LToolStripMenuItem.ShortcutKeys = Keys.Delete 查找FToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.F 查找下一个NToolStripMenuItem.ShortcutKeys = Keys.F3 查找下一个NToolStripMenuItem.Enabled = False End Sub Private Sub 新建NToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 新建NToolStripMenuItem.Click RichTextBox1.Text = "" FileName = "无标题" Me.Text = FileName + " - " + "记事本——AngelHacker" End Sub Private Sub 打开OToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打开OToolStripMenuItem.Click OpenFileDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" OpenFileDialog1.FileName = "" If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else RichTextBox1.Text = "" FileName = OpenFileDialog1.FileName Select Case OpenFileDialog1.FilterIndex Case "1" RichTextBox1.LoadFile(FileName, RichTextBoxStreamType.PlainText) Case "2" RichTextBox1.LoadFile(FileName, RichTextBoxStreamType.RichText) Case Else On Error GoTo txt RichTextBox1.LoadFile(FileName) End Select Me.Text = FileName + " - " + "记事本——AngelHacker" End If Exit Sub txt: RichTextBox1.LoadFile(FileName, RichTextBoxStreamType.PlainText) End Sub Private Sub 保存SToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 保存SToolStripMenuItem.Click If Me.Text = "无标题 - 记事本——AngelHacker" Then SaveFileDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" SaveFileDialog1.FileName = "" SaveFileDialog1.CheckPathExists = True If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else Select Case SaveFileDialog1.FilterIndex Case "1" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText) Case "2" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText) Case Else RichTextBox1.SaveFile(SaveFileDialog1.FileName) End Select Me.Text = SaveFileDialog1.FileName + " - " + "记事本——AngelHacker" End If Else Select Case Mid(Me.Text, Me.Text.Length - 21, 3) Case "txt" RichTextBox1.SaveFile(Mid(Me.Text, 1, Me.Text.Length - 18), RichTextBoxStreamType.PlainText) Case "rtf" RichTextBox1.SaveFile(Mid(Me.Text, 1, Me.Text.Length - 18), RichTextBoxStreamType.RichText) Case Else RichTextBox1.SaveFile(Mid(Me.Text, 1, Me.Text.Length - 18)) End Select End If End Sub Private Sub 另存为AToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 另存为AToolStripMenuItem.Click SaveFileDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" SaveFileDialog1.FileName = "" SaveFileDialog1.CheckPathExists = True If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else Select Case SaveFileDialog1.FilterIndex Case "1" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText) Case "2" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText) Case Else RichTextBox1.SaveFile(SaveFileDialog1.FileName) End Select Me.Text = SaveFileDialog1.FileName + " - " + "记事本——AngelHacker" End If End Sub Private Sub 退出XToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出XToolStripMenuItem.Click End End Sub Private Sub 重置UToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 重置UToolStripMenuItem.Click, 重置UToolStripMenuItem1.Click RichTextBox1.Text = "" RichTextBox1.SelectionStart = 1 word = "" 查找下一个NToolStripMenuItem.Enabled = False RichTextBox1.Font = Font End Sub Private Sub 剪切TToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 剪切TToolStripMenuItem.Click, 剪切TToolStripMenuItem1.Click RichTextBox1.Cut() End Sub Private Sub 复制CToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 复制CToolStripMenuItem.Click, 复制CToolStripMenuItem1.Click RichTextBox1.Copy() End Sub Private Sub 粘贴PToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 粘贴PToolStripMenuItem.Click, 粘贴PToolStripMenuItem1.Click RichTextBox1.Paste() End Sub Private Sub 全选AToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 全选AToolStripMenuItem.Click, 全选AToolStripMenuItem1.Click RichTextBox1.SelectAll() End Sub Private Sub 删除LToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 删除LToolStripMenuItem.Click, 删除DToolStripMenuItem.Click RichTextBox1.Text = RichTextBox1.Text.Remove(RichTextBox1.SelectionStart, RichTextBox1.SelectionLength) End Sub Private Sub 字数统计ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 字数统计ToolStripMenuItem.Click, 字数统计SToolStripMenuItem.Click If RichTextBox1.SelectedText = "" Then MsgBox("全文共" + RichTextBox1.TextLength.ToString + "字符") Else MsgBox("选中的字符数为" + RichTextBox1.SelectionLength.ToString) End If End Sub Private Sub 自动换行WToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 自动换行WToolStripMenuItem.Click If ML = False Then RichTextBox1.WordWrap = True 自动换行WToolStripMenuItem.Checked = True ML = True Else RichTextBox1.WordWrap = False 自动换行WToolStripMenuItem.Checked = False ML = False End If End Sub Private Sub 关于AToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 关于AToolStripMenuItem.Click AboutBox1.ShowDialog() End Sub Private Sub 字体FToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 字体FToolStripMenuItem.Click If FontDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else RichTextBox1.Font = FontDialog1.Font End If End Sub Private Sub 查找FToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查找FToolStripMenuItem.Click word = InputBox("查找内容", "查找") If word = "" Then Exit Sub Else Dim a As Integer = RichTextBox1.Find(word, RichTextBox1.SelectionStart, RichTextBoxFinds.MatchCase) If a = -1 Then MsgBox("找不到" + """" + word + """") Else 查找下一个NToolStripMenuItem.Enabled = True Exit Sub End If End If End Sub Private Sub 查找下一个NToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查找下一个NToolStripMenuItem.Click Dim wz As Integer If RichTextBox1.SelectionStart = RichTextBox1.TextLength Then MsgBox("找不到" + """" + word + """") Else wz = RichTextBox1.SelectionStart wz += 1 Dim a As Integer = RichTextBox1.Find(word, wz, RichTextBoxFinds.MatchCase) If a = -1 Then MsgBox("找不到" + """" + word + """") Else Exit Sub End If End If End Sub Private Sub 时间日期DToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 时间日期DToolStripMenuItem.Click If ML = False Then RichTextBox1.Text += Date.Now Else RichTextBox1.Text += Chr(13) & Chr(10) & Date.Now End If End Sub End Class

基本上没用什么属性设置,都是靠代码实现的,由于功能十分简单,使用的是面向过程的方法实现,看起来简单点。

微软的记事本其实很简单,给大家开阔下思路。

需要完整源码的可以到这里下载:http://download.csdn.net/source/3412684

http://wenku.baidu.com/view/8dadb7ea998fcc22bcd10d8a.html

欢迎转载:http://blog.csdn.com/AngelHacker/

http://blog.csdn.net/angelhacker/article/details/6580425
http://wenku.baidu.com/view/8dadb7ea998fcc22bcd10d8a.html

想必大家都听说过Notepad2,Notepad++一类的记事本增强软件,想自己也写一个吗?

今天教大家用用VB.NET写了一个功能增强的记事本(支持全文字数统计、选中部分字数统计、支持doc、rtf格式等)

先上图:


感觉如果不错的话,看看源码吧:

  1. PublicClassMainForm
  2. DimFileNameAsString="无标题"
  3. DimwordAsString=""
  4. DimMLAsBoolean=False
  5. PrivateSubForm1_Load(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)HandlesMyBase.Load
  6. Me.StartPosition=FormStartPosition.CenterScreen
  7. Me.Text=FileName+"-"+"记事本——AngelHacker"
  8. RichTextBox1.WordWrap=False
  9. RichTextBox1.ContextMenuStrip=ContextMenuStrip1
  10. RichTextBox1.ScrollBars=RichTextBoxScrollBars.Both
  11. 新建NToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.N
  12. 打开OToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.O
  13. 保存SToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.S
  14. 剪切TToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.X
  15. 复制CToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.C
  16. 粘贴PToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.V
  17. 全选AToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.A
  18. 删除LToolStripMenuItem.ShortcutKeys=Keys.Delete
  19. 查找FToolStripMenuItem.ShortcutKeys=Keys.Control+Keys.F
  20. 查找下一个NToolStripMenuItem.ShortcutKeys=Keys.F3
  21. 查找下一个NToolStripMenuItem.Enabled=False
  22. EndSub
  23. PrivateSub新建NToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles新建NToolStripMenuItem.Click
  24. RichTextBox1.Text=""
  25. FileName="无标题"
  26. Me.Text=FileName+"-"+"记事本——AngelHacker"
  27. EndSub
  28. PrivateSub打开OToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles打开OToolStripMenuItem.Click
  29. OpenFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  30. OpenFileDialog1.FileName=""
  31. IfOpenFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  32. ExitSub
  33. Else
  34. RichTextBox1.Text=""
  35. FileName=OpenFileDialog1.FileName
  36. SelectCaseOpenFileDialog1.FilterIndex
  37. Case"1"
  38. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.PlainText)
  39. Case"2"
  40. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.RichText)
  41. CaseElse
  42. OnErrorGoTotxt
  43. RichTextBox1.LoadFile(FileName)
  44. EndSelect
  45. Me.Text=FileName+"-"+"记事本——AngelHacker"
  46. EndIf
  47. ExitSub
  48. txt:
  49. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.PlainText)
  50. EndSub
  51. PrivateSub保存SToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles保存SToolStripMenuItem.Click
  52. IfMe.Text="无标题-记事本——AngelHacker"Then
  53. SaveFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  54. SaveFileDialog1.FileName=""
  55. SaveFileDialog1.CheckPathExists=True
  56. IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  57. ExitSub
  58. Else
  59. SelectCaseSaveFileDialog1.FilterIndex
  60. Case"1"
  61. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.PlainText)
  62. Case"2"
  63. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.RichText)
  64. CaseElse
  65. RichTextBox1.SaveFile(SaveFileDialog1.FileName)
  66. EndSelect
  67. Me.Text=SaveFileDialog1.FileName+"-"+"记事本——AngelHacker"
  68. EndIf
  69. Else
  70. SelectCaseMid(Me.Text,Me.Text.Length-21,3)
  71. Case"txt"
  72. RichTextBox1.SaveFile(Mid(Me.Text,1,Me.Text.Length-18),RichTextBoxStreamType.PlainText)
  73. Case"rtf"
  74. RichTextBox1.SaveFile(Mid(Me.Text,1,Me.Text.Length-18),RichTextBoxStreamType.RichText)
  75. CaseElse
  76. RichTextBox1.SaveFile(Mid(Me.Text,1,Me.Text.Length-18))
  77. EndSelect
  78. EndIf
  79. EndSub
  80. PrivateSub另存为AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles另存为AToolStripMenuItem.Click
  81. SaveFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  82. SaveFileDialog1.FileName=""
  83. SaveFileDialog1.CheckPathExists=True
  84. IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  85. ExitSub
  86. Else
  87. SelectCaseSaveFileDialog1.FilterIndex
  88. Case"1"
  89. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.PlainText)
  90. Case"2"
  91. RichTextBox1.SaveFile(SaveFileDialog1.FileName,RichTextBoxStreamType.RichText)
  92. CaseElse
  93. RichTextBox1.SaveFile(SaveFileDialog1.FileName)
  94. EndSelect
  95. Me.Text=SaveFileDialog1.FileName+"-"+"记事本——AngelHacker"
  96. EndIf
  97. EndSub
  98. PrivateSub退出XToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出XToolStripMenuItem.Click
  99. End
  100. EndSub
  101. PrivateSub重置UToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles重置UToolStripMenuItem.Click,重置UToolStripMenuItem1.Click
  102. RichTextBox1.Text=""
  103. RichTextBox1.SelectionStart=1
  104. word=""
  105. 查找下一个NToolStripMenuItem.Enabled=False
  106. RichTextBox1.Font=Font
  107. EndSub
  108. PrivateSub剪切TToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles剪切TToolStripMenuItem.Click,剪切TToolStripMenuItem1.Click
  109. RichTextBox1.Cut()
  110. EndSub
  111. PrivateSub复制CToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles复制CToolStripMenuItem.Click,复制CToolStripMenuItem1.Click
  112. RichTextBox1.Copy()
  113. EndSub
  114. PrivateSub粘贴PToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles粘贴PToolStripMenuItem.Click,粘贴PToolStripMenuItem1.Click
  115. RichTextBox1.Paste()
  116. EndSub
  117. PrivateSub全选AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles全选AToolStripMenuItem.Click,全选AToolStripMenuItem1.Click
  118. RichTextBox1.SelectAll()
  119. EndSub
  120. PrivateSub删除LToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除LToolStripMenuItem.Click,删除DToolStripMenuItem.Click
  121. RichTextBox1.Text=RichTextBox1.Text.Remove(RichTextBox1.SelectionStart,RichTextBox1.SelectionLength)
  122. EndSub
  123. PrivateSub字数统计ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles字数统计ToolStripMenuItem.Click,字数统计SToolStripMenuItem.Click
  124. IfRichTextBox1.SelectedText=""Then
  125. MsgBox("全文共"+RichTextBox1.TextLength.ToString+"字符")
  126. Else
  127. MsgBox("选中的字符数为"+RichTextBox1.SelectionLength.ToString)
  128. EndIf
  129. EndSub
  130. PrivateSub自动换行WToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles自动换行WToolStripMenuItem.Click
  131. IfML=FalseThen
  132. RichTextBox1.WordWrap=True
  133. 自动换行WToolStripMenuItem.Checked=True
  134. ML=True
  135. Else
  136. RichTextBox1.WordWrap=False
  137. 自动换行WToolStripMenuItem.Checked=False
  138. ML=False
  139. EndIf
  140. EndSub
  141. PrivateSub关于AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles关于AToolStripMenuItem.Click
  142. AboutBox1.ShowDialog()
  143. EndSub
  144. PrivateSub字体FToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles字体FToolStripMenuItem.Click
  145. IfFontDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  146. ExitSub
  147. Else
  148. RichTextBox1.Font=FontDialog1.Font
  149. EndIf
  150. EndSub
  151. PrivateSub查找FToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查找FToolStripMenuItem.Click
  152. word=InputBox("查找内容","查找")
  153. Ifword=""Then
  154. ExitSub
  155. Else
  156. DimaAsInteger=RichTextBox1.Find(word,RichTextBox1.SelectionStart,RichTextBoxFinds.MatchCase)
  157. Ifa=-1Then
  158. MsgBox("找不到"+""""+word+"""")
  159. Else
  160. 查找下一个NToolStripMenuItem.Enabled=True
  161. ExitSub
  162. EndIf
  163. EndIf
  164. EndSub
  165. PrivateSub查找下一个NToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查找下一个NToolStripMenuItem.Click
  166. DimwzAsInteger
  167. IfRichTextBox1.SelectionStart=RichTextBox1.TextLengthThen
  168. MsgBox("找不到"+""""+word+"""")
  169. Else
  170. wz=RichTextBox1.SelectionStart
  171. wz+=1
  172. DimaAsInteger=RichTextBox1.Find(word,wz,RichTextBoxFinds.MatchCase)
  173. Ifa=-1Then
  174. MsgBox("找不到"+""""+word+"""")
  175. Else
  176. ExitSub
  177. EndIf
  178. EndIf
  179. EndSub
  180. PrivateSub时间日期DToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles时间日期DToolStripMenuItem.Click
  181. IfML=FalseThen
  182. RichTextBox1.Text+=Date.Now
  183. Else
  184. RichTextBox1.Text+=Chr(13)&Chr(10)&Date.Now
  185. EndIf
  186. EndSub
  187. EndClass
Public Class MainForm Dim FileName As String = "无标题" Dim word As String = "" Dim ML As Boolean = False Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.StartPosition = FormStartPosition.CenterScreen Me.Text = FileName + " - " + "记事本——AngelHacker" RichTextBox1.WordWrap = False RichTextBox1.ContextMenuStrip = ContextMenuStrip1 RichTextBox1.ScrollBars = RichTextBoxScrollBars.Both 新建NToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.N 打开OToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.O 保存SToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.S 剪切TToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.X 复制CToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.C 粘贴PToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.V 全选AToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.A 删除LToolStripMenuItem.ShortcutKeys = Keys.Delete 查找FToolStripMenuItem.ShortcutKeys = Keys.Control + Keys.F 查找下一个NToolStripMenuItem.ShortcutKeys = Keys.F3 查找下一个NToolStripMenuItem.Enabled = False End Sub Private Sub 新建NToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 新建NToolStripMenuItem.Click RichTextBox1.Text = "" FileName = "无标题" Me.Text = FileName + " - " + "记事本——AngelHacker" End Sub Private Sub 打开OToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 打开OToolStripMenuItem.Click OpenFileDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" OpenFileDialog1.FileName = "" If OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else RichTextBox1.Text = "" FileName = OpenFileDialog1.FileName Select Case OpenFileDialog1.FilterIndex Case "1" RichTextBox1.LoadFile(FileName, RichTextBoxStreamType.PlainText) Case "2" RichTextBox1.LoadFile(FileName, RichTextBoxStreamType.RichText) Case Else On Error GoTo txt RichTextBox1.LoadFile(FileName) End Select Me.Text = FileName + " - " + "记事本——AngelHacker" End If Exit Sub txt: RichTextBox1.LoadFile(FileName, RichTextBoxStreamType.PlainText) End Sub Private Sub 保存SToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 保存SToolStripMenuItem.Click If Me.Text = "无标题 - 记事本——AngelHacker" Then SaveFileDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" SaveFileDialog1.FileName = "" SaveFileDialog1.CheckPathExists = True If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else Select Case SaveFileDialog1.FilterIndex Case "1" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText) Case "2" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText) Case Else RichTextBox1.SaveFile(SaveFileDialog1.FileName) End Select Me.Text = SaveFileDialog1.FileName + " - " + "记事本——AngelHacker" End If Else Select Case Mid(Me.Text, Me.Text.Length - 21, 3) Case "txt" RichTextBox1.SaveFile(Mid(Me.Text, 1, Me.Text.Length - 18), RichTextBoxStreamType.PlainText) Case "rtf" RichTextBox1.SaveFile(Mid(Me.Text, 1, Me.Text.Length - 18), RichTextBoxStreamType.RichText) Case Else RichTextBox1.SaveFile(Mid(Me.Text, 1, Me.Text.Length - 18)) End Select End If End Sub Private Sub 另存为AToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 另存为AToolStripMenuItem.Click SaveFileDialog1.Filter = "文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*" SaveFileDialog1.FileName = "" SaveFileDialog1.CheckPathExists = True If SaveFileDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else Select Case SaveFileDialog1.FilterIndex Case "1" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.PlainText) Case "2" RichTextBox1.SaveFile(SaveFileDialog1.FileName, RichTextBoxStreamType.RichText) Case Else RichTextBox1.SaveFile(SaveFileDialog1.FileName) End Select Me.Text = SaveFileDialog1.FileName + " - " + "记事本——AngelHacker" End If End Sub Private Sub 退出XToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 退出XToolStripMenuItem.Click End End Sub Private Sub 重置UToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 重置UToolStripMenuItem.Click, 重置UToolStripMenuItem1.Click RichTextBox1.Text = "" RichTextBox1.SelectionStart = 1 word = "" 查找下一个NToolStripMenuItem.Enabled = False RichTextBox1.Font = Font End Sub Private Sub 剪切TToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 剪切TToolStripMenuItem.Click, 剪切TToolStripMenuItem1.Click RichTextBox1.Cut() End Sub Private Sub 复制CToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 复制CToolStripMenuItem.Click, 复制CToolStripMenuItem1.Click RichTextBox1.Copy() End Sub Private Sub 粘贴PToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 粘贴PToolStripMenuItem.Click, 粘贴PToolStripMenuItem1.Click RichTextBox1.Paste() End Sub Private Sub 全选AToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 全选AToolStripMenuItem.Click, 全选AToolStripMenuItem1.Click RichTextBox1.SelectAll() End Sub Private Sub 删除LToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 删除LToolStripMenuItem.Click, 删除DToolStripMenuItem.Click RichTextBox1.Text = RichTextBox1.Text.Remove(RichTextBox1.SelectionStart, RichTextBox1.SelectionLength) End Sub Private Sub 字数统计ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 字数统计ToolStripMenuItem.Click, 字数统计SToolStripMenuItem.Click If RichTextBox1.SelectedText = "" Then MsgBox("全文共" + RichTextBox1.TextLength.ToString + "字符") Else MsgBox("选中的字符数为" + RichTextBox1.SelectionLength.ToString) End If End Sub Private Sub 自动换行WToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 自动换行WToolStripMenuItem.Click If ML = False Then RichTextBox1.WordWrap = True 自动换行WToolStripMenuItem.Checked = True ML = True Else RichTextBox1.WordWrap = False 自动换行WToolStripMenuItem.Checked = False ML = False End If End Sub Private Sub 关于AToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 关于AToolStripMenuItem.Click AboutBox1.ShowDialog() End Sub Private Sub 字体FToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 字体FToolStripMenuItem.Click If FontDialog1.ShowDialog() = Windows.Forms.DialogResult.Cancel Then Exit Sub Else RichTextBox1.Font = FontDialog1.Font End If End Sub Private Sub 查找FToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查找FToolStripMenuItem.Click word = InputBox("查找内容", "查找") If word = "" Then Exit Sub Else Dim a As Integer = RichTextBox1.Find(word, RichTextBox1.SelectionStart, RichTextBoxFinds.MatchCase) If a = -1 Then MsgBox("找不到" + """" + word + """") Else 查找下一个NToolStripMenuItem.Enabled = True Exit Sub End If End If End Sub Private Sub 查找下一个NToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 查找下一个NToolStripMenuItem.Click Dim wz As Integer If RichTextBox1.SelectionStart = RichTextBox1.TextLength Then MsgBox("找不到" + """" + word + """") Else wz = RichTextBox1.SelectionStart wz += 1 Dim a As Integer = RichTextBox1.Find(word, wz, RichTextBoxFinds.MatchCase) If a = -1 Then MsgBox("找不到" + """" + word + """") Else Exit Sub End If End If End Sub Private Sub 时间日期DToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 时间日期DToolStripMenuItem.Click If ML = False Then RichTextBox1.Text += Date.Now Else RichTextBox1.Text += Chr(13) & Chr(10) & Date.Now End If End Sub End Class

基本上没用什么属性设置,都是靠代码实现的,由于功能十分简单,使用的是面向过程的方法实现,看起来简单点。

微软的记事本其实很简单,给大家开阔下思路。

需要完整源码的可以到这里下载:http://download.csdn.net/source/3412684

http://wenku.baidu.com/view/8dadb7ea998fcc22bcd10d8a.html

欢迎转载:http://blog.csdn.com/AngelHacker/

http://blog.csdn.net/angelhacker/article/details/6580425 http://wenku.baidu.com/view/8dadb7ea998fcc22bcd10d8a.html
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值