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

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

发布时间:2020-12-17 08:16:02 所属栏目:百科 来源:网络整理
导读:原址:http://www.jb51.cc/article/p-eqvvftcw-bhk.html 想必大家都听说过Notepad2,Notepad++一类的记事本增强软件,想自己也写一个吗? 今天教大家用用VB.NET写了一个功能增强的记事本(支持全文字数统计、选中部分字数统计、支持doc、rtf格式等) 先上图
原址:http://www.52php.cn/article/p-eqvvftcw-bhk.html
想必大家都听说过Notepad2,Notepad++一类的记事本增强软件,想自己也写一个吗?

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

先上图:


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

[vb] view plain copy
  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. PrivateSub打开OToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles打开OToolStripMenuItem.Click
  27. OpenFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  28. OpenFileDialog1.FileName=""
  29. IfOpenFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  30. ExitSub
  31. Else
  32. RichTextBox1.Text=""
  33. FileName=OpenFileDialog1.FileName
  34. SelectCaseOpenFileDialog1.FilterIndex
  35. Case"1"
  36. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.PlainText)
  37. Case"2"
  38. CaseElse
  39. OnErrorGoTotxt
  40. RichTextBox1.LoadFile(FileName)
  41. EndSelect
  42. EndIf
  43. ExitSub
  44. txt:
  45. RichTextBox1.LoadFile(FileName,RichTextBoxStreamType.PlainText)
  46. PrivateSub保存SToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles保存SToolStripMenuItem.Click
  47. IfMe.Text="无标题-记事本——AngelHacker"Then
  48. SaveFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  49. SaveFileDialog1.FileName=""
  50. SaveFileDialog1.CheckPathExists=True
  51. IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  52. SelectCaseSaveFileDialog1.FilterIndex
  53. RichTextBox1.SaveFile(SaveFileDialog1.FileName,108) 3px solid; padding-bottom:0px!important; line-height:18px; border-right-style:none; list-style-type:decimal-leading-zero; margin:0px; padding-left:10px!important; padding-right:3px!important; border-top-style:none; padding-top:0px!important"> RichTextBox1.SaveFile(SaveFileDialog1.FileName)
  54. EndSelect
  55. Me.Text=SaveFileDialog1.FileName+"-"+"记事本——AngelHacker"
  56. EndIf
  57. Else
  58. SelectCaseMid(Me.Text,Me.Text.Length-21,3)
  59. Case"txt"
  60. RichTextBox1.SaveFile(Mid(Me.Text,1,Me.Text.Length-18),RichTextBoxStreamType.PlainText)
  61. Case"rtf"
  62. CaseElse
  63. Me.Text.Length-18))
  64. PrivateSub另存为AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles另存为AToolStripMenuItem.Click
  65. SaveFileDialog1.Filter="文本文档(*.txt)|*.txt|RTF文档(*.rtf)|*.rtf|所有文件(*.*)|*.*"
  66. SaveFileDialog1.FileName=""
  67. SaveFileDialog1.CheckPathExists=True
  68. IfSaveFileDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  69. SelectCaseSaveFileDialog1.FilterIndex
  70. Case"1"
  71. RichTextBox1.SaveFile(SaveFileDialog1.FileName,108) 3px solid; padding-bottom:0px!important; line-height:18px; border-right-style:none; list-style-type:decimal-leading-zero; margin:0px; padding-left:10px!important; padding-right:3px!important; border-top-style:none; padding-top:0px!important"> Case"2"
  72. RichTextBox1.SaveFile(SaveFileDialog1.FileName)
  73. Me.Text=SaveFileDialog1.FileName+"-"+"记事本——AngelHacker"
  74. EndSub
  75. PrivateSub退出XToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles退出XToolStripMenuItem.Click
  76. End
  77. PrivateSub重置UToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles重置UToolStripMenuItem.Click,重置UToolStripMenuItem1.Click
  78. RichTextBox1.SelectionStart=1
  79. word=""
  80. RichTextBox1.Font=Font
  81. PrivateSub剪切TToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles剪切TToolStripMenuItem.Click,剪切TToolStripMenuItem1.Click
  82. RichTextBox1.Cut()
  83. PrivateSub复制CToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles复制CToolStripMenuItem.Click,复制CToolStripMenuItem1.Click
  84. RichTextBox1.Copy()
  85. PrivateSub粘贴PToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles粘贴PToolStripMenuItem.Click,粘贴PToolStripMenuItem1.Click
  86. RichTextBox1.Paste()
  87. PrivateSub全选AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles全选AToolStripMenuItem.Click,全选AToolStripMenuItem1.Click
  88. RichTextBox1.SelectAll()
  89. PrivateSub删除LToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles删除LToolStripMenuItem.Click,删除DToolStripMenuItem.Click
  90. RichTextBox1.Text=RichTextBox1.Text.Remove(RichTextBox1.SelectionStart,RichTextBox1.SelectionLength)
  91. PrivateSub字数统计ToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles字数统计ToolStripMenuItem.Click,字数统计SToolStripMenuItem.Click
  92. IfRichTextBox1.SelectedText=""Then
  93. MsgBox("全文共"+RichTextBox1.TextLength.ToString+"字符")
  94. MsgBox("选中的字符数为"+RichTextBox1.SelectionLength.ToString)
  95. PrivateSub自动换行WToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles自动换行WToolStripMenuItem.Click
  96. IfML=FalseThen
  97. RichTextBox1.WordWrap=True
  98. 自动换行WToolStripMenuItem.Checked=True
  99. ML=True
  100. RichTextBox1.WordWrap=False
  101. 自动换行WToolStripMenuItem.Checked=False
  102. ML=False
  103. PrivateSub关于AToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles关于AToolStripMenuItem.Click
  104. AboutBox1.ShowDialog()
  105. PrivateSub字体FToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles字体FToolStripMenuItem.Click
  106. IfFontDialog1.ShowDialog()=Windows.Forms.DialogResult.CancelThen
  107. RichTextBox1.Font=FontDialog1.Font
  108. PrivateSub查找FToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查找FToolStripMenuItem.Click
  109. word=InputBox("查找内容","查找")
  110. Ifword=""Then
  111. DimaAsInteger=RichTextBox1.Find(word,RichTextBox1.SelectionStart,RichTextBoxFinds.MatchCase)
  112. Ifa=-1Then
  113. MsgBox("找不到"+""""+word+"""")
  114. 查找下一个NToolStripMenuItem.Enabled=True
  115. PrivateSub查找下一个NToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles查找下一个NToolStripMenuItem.Click
  116. DimwzAsInteger
  117. IfRichTextBox1.SelectionStart=RichTextBox1.TextLengthThen
  118. MsgBox("找不到"+""""+word+"""")
  119. wz=RichTextBox1.SelectionStart
  120. wz+=1
  121. DimaAsInteger=RichTextBox1.Find(word,wz,RichTextBoxFinds.MatchCase)
  122. Ifa=-1Then
  123. PrivateSub时间日期DToolStripMenuItem_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)Handles时间日期DToolStripMenuItem.Click
  124. IfML=FalseThen
  125. RichTextBox1.Text+=Date.Now
  126. RichTextBox1.Text+=Chr(13)&Chr(10)&Date.Now
  127. EndClass

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

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

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

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

(编辑:李大同)

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

    推荐文章
      热点阅读