首页 >

怎样用vb.net做记事本? – 网络|

红米2a联系人怎么拨号,sap怎么删除用户权限,怎么把照片转为jpg格式文件格式红米2a联系人怎么拨号,sap怎么删除用户权限,怎么把照片转为jpg格式文件格式怎样用vb.net做记事本? - 网络|怎样用vb.net做记事本

新建一个标准EXE工程,将其Caption属性改为“超级记事本”,点击Icon属性给它找个合适的Icon图标。单击菜单“工程”-“部件”,在弹出的“部件”对话框里找到MicrosoftRichTextBox6.0和公共对话框MicrosoftCommonDialog6.0并选中它们,单击“确定”按钮。这时左边的工具栏上出现了大家刚才新添的两个控件了。在窗体上绘制RichTextBox和CommnDialog,其中RichTextBox的大小和位置可不用理睬,大家将在代码中处理它,当然,有必要把它的ScrollBar属性设为2-rtfVertical,这样在打开和编辑文件时垂直滚动条才可用。

步骤二:编辑菜单。

按Ctrl+E调出菜单编辑器,大家来做如下几个菜单:

一.文件菜单:

文件(第一层)mnuFile

新建(第二层)mnuNew

打开(第二层)mnuOpen

保存(第二层)mnuSave

-(第二层)mnuFileSep(分隔线)

退出(第二层)mnuExit

二.编辑菜单:

编辑(第一层)mnuEdit

复制(第二层)mnuCopy

剪切(第二层)mnuCut

粘贴(第二层)mnuPaste

-(第二层)mnuEditSep(分隔线)

全选(第二层)mnuSelecAll

三.搜索菜单:

搜索(第一层)mnuSearch

查找(第二层)mnuFind

查找下一个(第二层)mnuFindOn

四.帮助菜单:

帮助(第一层)mnuHelp

使用说明(第二层)mnuUsage

关于(第二层)mnuAbout

(注:各菜单项的快捷键请自行设置)

好了,其它的菜单项以后再根据需要添加。现在进入:

步骤三:编写代码。

‘声明查找变量

DimsFindAsString

‘声明文件类型

DimFileType,FiTypeAsString

‘初始化程序

PrivateSubForm_Load()

‘设置程序启动时的大小

Me.Height=6000

Me.Width=9000

EndSub

‘设置编辑框的位置和大小

PrivateSubForm_Resize()

OnErrorResumeNext’出错处理

RichTextBox1.Top=20

RichTextBox1.Left=20

RichTextBox1.Height=ScaleHeight-40

RichTextBox1.Width=ScaleWidth-40

EndSub

‘新建文件

PrivateSubmnuNew_Click()

RichTextBox1.Text=””‘清空文本框

FileName=”未命名”

Me.Caption=FileName

EndSub

‘打开文件

PrivateSubmnuOpen_Click()

CommonDialog1.Filter=”文本文档(*.txt)*.txtRTF文档(*.rtf)*.rtf所有文件(*.*)*.*”

CommonDialog1.ShowOpen

RichTextBox1.Text=””‘清空文本框

FileName=CommonDialog1.FileName

RichTextBox1.LoadFileFileName

Me.Caption=”超级记事本:”&FileName

EndSub

‘保存文件

PrivateSubmnuSave_Click()

CommonDialog1.Filter=”文本文档(*.txt)*.txtRTF文档(*.rtf)*.rtf所有文件(*.*)*.*”

CommonDialog1.ShowSave

FileType=CommonDialog1.FileTitle

FiType=LCase(Right(FileType,3))

FileName=CommonDialog1.FileName

SelectCaseFiType

Case”txt”

RichTextBox1.SaveFileFileName,rtfText

Case”rtf”

RichTextBox1.SaveFileFileName,rtfRTF

Case”*.*”

RichTextBox1.SaveFileFileName

EndSelect

Me.Caption=”超级记事本:”&FileName

EndSub

‘退出

PrivateSubmnuExit_Click()

End

EndSub

‘复制

PrivateSubmnuCopy_Click()

Clipboard.Clear

Clipboard.SetTextRichTextBox1.SelText

EndSub

‘剪切

PrivateSubmnuCut_Click()

Clipboard.Clear

Clipboard.SetTextRichTextBox1.SelText

RichTextBox1.SelText=””

EndSub

‘全选

PrivateSubmnuSelectAll_Click()

RichTextBox1.SelStart=0

RichTextBox1.SelLength=Len(RichTextBox1.Text)

EndSub

‘粘贴

PrivateSubmnuPaste_Click()

RichTextBox1.SelText=Clipboard.GetText

EndSub

‘查找

PrivateSubmnuFind_Click()

sFind=InputBox(“请输入要查找的字、词:”,”查找内容”,sFind)

RichTextBox1.FindsFind

EndSub

‘继续查找

PrivateSubmnuFindOn_Click()

RichTextBox1.SelStart=RichTextBox1.SelStart+RichTextBox1.SelLength+1

RichTextBox1.FindsFind,,Len(RichTextBox1)

EndSub

‘使用说明

PrivateSubmnuReadme_Click()

OnErrorGoTohandler

RichTextBox1.LoadFile”Readme.txt”,rtfText’请写好Readme.txt文件并存入程序所在文件夹中

Me.Caption=”超级记事本:”&”使用说明”

ExitSub

handler:

MsgBox”使用说明文档可能已经被移除,请与作者联系。”,vbOKOnly,”错误信息”

EndSub

‘关于

PrivateSubmnuAbout_Click()

MsgBox”超级记事本Ver1.0版权所有(C)2001土人”,vbOKOnly,”关于”

EndSub

‘设置弹出式菜单(即在编辑框中单击鼠标右键时弹出的动态菜单)

PrivateSubRichTextBox1_MouseDown(ButtonAsInteger,ShiftAsInteger,XAsSingle,YAsSingle)

IfButton=2Then

PopupMenumnuEdit,vbPopupMenuLeftAlign

Else

ExitSub

EndIf

EndSub

‘防止在切换输入法时字体自变(感谢王必成先生提供此方案)

PrivateSubRichTextBox1_KeyUp(KeyCodeAsInteger,ShiftAsInteger)

IfKeyCode=vbKeySpaceThen

RichTextBox1.SelFontName=CommonDialog1.FontName

EndIf

EndSub

至此,大家的记事本可以编译使用了。点击菜单“文件”-“生成XXX.EXE”,回到桌面运行大家的记事本看看,是不是颇有成就感?

当然,这样的记事本还比较粗糙,大家还需要做些工作,请看下一章。

第二章美化程序界面

多数字处理软件都有工具栏和状态栏。工具栏和状态栏除了能美化大家的程序使其更具有专业性质外,还给用户带来操作上的便利。现在大家就来做一做这两样东西。

一.工具栏

(一)制作工具栏

单击“工程”-“部件”,选中MicrosoftWindowsCommonControl6.0并确定。这时,大家要用到的控件就出现在左边的工具栏上了。

要做工具栏,首先需要一个叫ImageList的控件来装载图像。在程序界面上添加它,然后右键单击此控件,左键单击“属性”,弹出“属性页”对话框的“图像”,再单击“插入图片”就可以一次性装载图片了(如不满意,以后还可以添加)。图片可在C:\MicrosoftVisualStudio\Common\Graphics\Bitmaps\TlBr_W95下选择(这里假设你的VB安装在C盘下)。注意了:在插入图片时给每一张图片注明关键字,以便在引用图片时不至于混乱。如插入“新建”的图片,大家在“关键字”栏注明“New”。

图片有了,接下来在程序界面添加工具栏(ToolBar)。添加后工具栏就出现在菜单下面,右键单击它,选择“属性”,在弹出的“属性页”对话框中的“通用”项作些设置,主要如下两项:

1.“图像列表”:选择ImageList1

2.“样式”:根据喜爱选择1-trbStandard或者2-trbFlat

继续点击“属性页”的“按钮”选项,插入若干按钮。按钮有多种样式,请根据需要设置。这里请一定注意:每一个与用户操作有关的按钮都必须注明关键字、装载图片,如“新建”按钮,在“关键字”项注明“新建”,在“图像”项键入“New”(即ImageList1中的图片关键字),需要的话还可以在“工具提示文本”项填入适当的提示语。

(二)编写工具栏的按钮代码

工具栏按钮的代码编辑很简单,可以按照下面的格式去编写:

PrivateSubToolBar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

OnErrorResumeNext’出错处理

SelectCaseButton.Key’按关键字选择

Case”新建”

mnuNew_Click’等于菜单项“新建”被单击

Case”打开”‘等于菜单项“打开”被单击

mnuOpen_Click

‘……(继续编写其它按钮的代码)

EndSelect

EndSub

完成后试运行一下大家的程序,大家发现,有了工具栏之后,程序变得漂亮多了,只是有一个问题:打开一个较长的文档后,编辑框的下拉滚动条向上的箭头不见了。原因是:工具条占用一定的空间。解决方法:将“设置编辑框的位置和大小”中的RichTextBox1.Top=20和RichTextBox1.Height=Me.ScaleHeight-40分别改为RichTextBox1.Top=380,RichTextBox1.Height=Me.ScaleHeight-400即可。

二.状态栏

(一)制作状态栏

状态栏的英文名字叫StatusBar,在窗体上添加它后会默认出现在窗体的最下方。用鼠标右键点击它,调出“属性页”对话框,单击“窗格”项,插入一些窗格,可以将各个窗格的“样式”设置为:

0-sbrText显示文本,需编写代码

1-sbrCaps显示大小写状态,无需编程

2-sbrNum显示NumLock键开关状态,无需编程

3-sbrIns显示Insert键状态,无需编程

4-sbrScr1

5-sbrTime显示时间,不编程时时间不会随系统时钟变化

6-sbrDate显示日期,无需编程

注意:加进状态栏后需将Form_Resze中的RichTextBox1.Height=Me.ScaleHeight-400改为RichTextBox1.Height=Me.ScaleHeight-600。

(二)状态栏根据其“样式”属性决定用不用编写代码(如上文所述)。下面举些例子,读者可以认真揣摩,从而达到举一反三的效果。

例一:用户选取了“新建”后,让第一个窗格显示:“目前状态:正在打开文件《……》”。请将下面代码写进“打开”菜单里面:

StatusBar1.Panels(1).Text=”目前状态:正在打开文件”&”《”&CommonDialog1.FileTitle&”》”

例二:让第三个窗格显示时间并让时间跟随系统时钟变化。

首先,给程序加一个Timer控件,将其Interval属性设为1000。然后:

在Form_Load过程加入:StatusBar1.Panels(1).Text=Time;然后给Timer控件编写代码:

PrivateSubTimer1_Timer()

IfStatusBar1.Panels(3).Text<>CStr(Time)Then

StatusBar1.Panels(3).Text=Time

EndIf

EndSub

例三:当编辑框的文本发生变化时让第一个窗格显示:“正在编辑文档:文件名”。

PrivateSubRichTextBox1_Chang()

StatusBar1.Panels(1).Text=”正在编辑文档:”&CommonDialog1.FileName

EndSub

辛苦了那么久,大家现在已经拥有一个象模象样的记事本了。这个记事本由于用了RichText控件,理论上它能打开和编辑任意大的文档,使用起来的确比Windows自带的记事本方便得多。当然,还有一些其它的功能需要添加和完善,这就靠你慢慢去完成了。


怎样用vb.net做记事本? - 网络|
  • 如何使用Golang进行无心智负担的编程? - 网络|
  • 如何使用Golang进行无心智负担的编程? - 网络| | 如何使用Golang进行无心智负担的编程? - 网络| ...

    怎样用vb.net做记事本? - 网络|
  • diamode画图软件? - 网络|
  • diamode画图软件? - 网络| | diamode画图软件? - 网络| ...

    怎样用vb.net做记事本? - 网络|
  • 小学五年级如何自学编程? - 网络|
  • 小学五年级如何自学编程? - 网络| | 小学五年级如何自学编程? - 网络| ...