加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-17 00:23:30 所属栏目:大数据 来源:网络整理
导读:VB.NET完成一个功能增强的记事本 分类: DotNet 2011-07-02 16:05 153人阅读 评论(0) 收藏 举报 想必大家都听说过Notepad2,Notepad++一类的记事本增强软件,想自己也写一个吗? 今天教大家用用VB.NET写了一个功能增强的记事本(支持全文字数统计、选中部分

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

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

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

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

先上图:


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

view plain copy to clipboard print ?
  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,RichTextBoxStreamType.RichText)
  75. CaseElse
  76. RichTextBox1.SaveFile(Mid(Me.Text,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

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

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

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

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

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

http://www.52php.cn/article/p-drehkguu-h.html
http://wenku.baidu.com/view/8dadb7ea998fcc22bcd10d8a.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读