关闭

关闭

封号提示

内容

首页 VBNET程序设计实用教程7.pdf

VBNET程序设计实用教程7.pdf

VBNET程序设计实用教程7.pdf

上传者: axiong202 2014-02-20 评分 3 0 3 0 12 暂无简介 简介 举报

简介:本文档为《VBNET程序设计实用教程7pdf》,可适用于IT/计算机领域,主题内容包含VBNET清华大学出版社VBNET程序设计实用教程第章Windows高级界面设计本章任务:体育彩票摇奖程序简易文本编辑器程序图文浏览器程序计算机应用符等。

VBNET清华大学出版社VBNET程序设计实用教程第章Windows高级界面设计本章任务:体育彩票摇奖程序简易文本编辑器程序图文浏览器程序计算机应用教研室操作系统本章要点菜单的制作方法标准对话框的使用工具栏的制作方法多窗体应用程序设计状态栏的制作方法要点MDI应用程序设计任务:体育彩票摇奖程序多窗体程序设计任务描述:编写一个七位号码体彩摇奖程序程序中有三个窗体分别如图、图和图所示。程序运行时首先出现摇奖窗体在该窗体上单击“摇奖”按钮将不停地产生随机数并填充在七个文本框中如图所示。单击“停止”按钮将停止摇奖此时在文本框中显示的数就是获奖号码。单击“公布”按钮将公布获奖号码如图所示。在该窗体上单击“返回”按钮将返回到摇奖窗体。单击“退出”按钮将出现如图所示的“退出提示框”单击“确定”按钮将退出应用程序。注意:在图所示的窗体中还有一个定时器控件。计算机应用教研室操作系统图摇奖窗体设计界面图公布中奖号码窗体设计界面图“退出提示框”窗体设计界面图摇奖窗体运行界面图公布中奖号码窗体运行界面图“退出提示框”窗体运行界面.启动VBNET新建一个项目项目类型为“Windows应用程序”项目的存放位置为“D:VBTASKCH”项目名为“Task”。.把Form窗体的Text属性值设置为“体育彩票摇奖程序”把它的Name属性值设置为“frmTicketReward”。单击“解决方案资源管理器”中的“FormVB”窗体然后在属性窗口中把它文件名属性设置为“frmTicketRewardvb”。然后执行【项目】【Task属性】命令在出现的“Task属性页”对话框中把“启动对象”设置为frmTicketReward”。注意:在多窗体程序设计中如果要改变启动窗体方法也是执行【项目】【***属性】命令在出现的“***属性页”对话框中把“启动对象”设置为相应窗体即可。任务实现:控件名属性名属性值作用LabelCaption"号码"提示TextBox~TextBoxText""显示摇奖号码ButtonCaption"摇奖"单击它开始摇奖ButtonCaption"停止"单击它停止摇奖ButtonCaption"公布"单击它弹出公布获奖号码窗体公布中奖号码ButtonCaption"退出"单击它弹出“退出提示框”提示是否退出程序TimerEnabledIntervalFalse每隔毫秒产生一组号码.对照图摇奖窗体设计界面为窗体添加控件并设置控件的属性。控件的属性设置如表所示。表任务中的frmTicketReward窗体中的控件属性设置及其功能计算机应用教研室操作系统.单击工具栏上的“”按钮或执行【项目】【添加Windows窗体】命令将会出现如图所示的【添加新项】对话框。.在该对话框的“模板”下面的列表框中选中【Windows窗体】图标在名称后面的文本框中输入窗体名“frmTicketPublish”然后单击“打开”按钮即为应用程序添加了一个名为“frmTicketPublish”窗体。把该窗体的Text属性值设置为“中奖号码公布”。注意:也可以选添加窗体然后再修改其Name属性值。图“添加新项”对话框控件名属性名属性值作用LabelCaption"本期获奖号码如下:"提示TextBox~TextBoxText""显示中奖号码ButtonCaption"返回"返回到摇奖窗体.对照图公布获奖号码窗体设计界面为窗体添加控件并设置控件的属性。控件的属性设置如表所示。.采用与步骤和步骤同样的方法为项目再添加一个名为“frmExit”的窗体并把它的Text属性值设置为“退出提示框”。表任务中的frmTicketPublish窗体中的控件属性设置及其功能对象名属性名属性值说明LabelText"真的要退出应用程序吗?"提示信息ButtonTextDialogResult"确定"OK单击它将退出应用程序ButtonTextDialogResult"取消"Cancel单击它将不退出应用程序.对照图退出提示框窗体设计界面为窗体添加控件并设置控件的属性。控件的属性设置如表所示。然后再把该窗体的FormBorderStyle属性值设置为“FixedSingle”把AcceptButton属性值设置为“Button”把CancelButton属性值设置为“Button”。至此界面设计基本完成。表任务中的frmExit窗体中的控件属性设置及其功能.在“解决方案资源管理器”中双击“frmTicketReward”窗体并切换到“frmTicketReward”窗体的代码窗口在代码窗口的最顶部加上如下程序代码。ImportsTaskfrmTicketPublishImportsTaskfrmExit注意:在多窗体程序设计中每个窗体相当于一个类在一个窗体中要调用其它窗体必须通过Imports语句把该窗体作为命名空间引入进来。.在“”下面编写如下程序代码定义个全局公享的整型变量用来存放中奖号码。PublicShareda,a,a,a,a,a,aAsInteger'存放摇出来的中奖号码注意:必须是在窗体的“Declaration”部分用“PublicShared”定义的变量才能被其它窗体使用。.编写本窗体的Load事件过程代码如下。PrivateSubfrmTicketRewardLoad(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesMyBaseLoadRandomize()'随机数初始化EndSub.编写Button按钮的Click事件过程代码如下。PrivateSubButtonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesButtonClickTimerEnabled=True'启动定时器开始摇号ButtonEnabled=True'停止按钮可用ButtonEnabled=False'摇奖按钮不可用EndSub.编写Timer控件的Tick事件过程代码如下。PrivateSubTimerTick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesTimerTick'产生七位随机数作为中奖号码a=Int(Rnd()*):a=Int(Rnd()*)a=Int(Rnd()*):a=Int(Rnd()*)a=Int(Rnd()*):a=Int(Rnd()*)a=Int(Rnd()*)'最后一位是特别号只能在~之间'显示随机产生的七位号码TextBoxText=CStr(a):TextBoxText=CStr(a)TextBoxText=CStr(a):TextBoxText=CStr(a)TextBoxText=CStr(a):TextBoxText=CStr(a)TextBoxText=CStr(a)EndSub说明:该过程每隔毫秒执行一个产生个随机数并显示在文本框中产生摇奖的效果。.运行程序单击“摇奖”按钮会发现各个文本框中不停地出现随机数。.编写Button按钮的Click事件过程代码如下。PrivateSubButtonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesButtonClickTimerEnabled=False'关闭定时器结束摇号ButtonEnabled=True'公布按钮可用ButtonEnabled=False'停止按钮不可用EndSub.运行程序单击“摇奖”按钮摇奖后单击“停止”按钮会发现文本框中的数固定了下来此时的值就可以认为是中奖号码。.编写Button按钮的Click事件过程代码如下。PrivateSubButtonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesButtonClickDimFrmAsNewfrmTicketPublish'定义一个frmTicketPublish类的对象FrmShow()'显示该对象窗体将显示出来EndSub.编写Button按钮的Click事件过程代码如下。PrivateSubButtonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesButtonClickDimfrmExitDialogAsNewfrmExit'根据退出窗体生成对象IffrmExitDialogShowDialog()=DialogResultOKThen'如果单击了“确定”按钮则退出MeClose()'关闭本窗体ApplicationExit()'退出应用程序EndIfEndSub说明:()上述代码首先产生一个frmExit窗体的实例然后调用该窗体实例的ShowDialog方法把该窗体实例以对话框的形式显示出来如果用户在对话框中单击了“是”按钮则退出应用程序。()在VBNET中除了可以使用Windows自带的标准对话框外如MsgBox、InputBox等用户还可以把自己设计的窗体定义成对话框。使用自定义对话框有以下几个要点。将窗体的FormBorderStyle属性值设置为FixedDialog根据需要向窗体上添加控件使用窗体的ShowDialog方法显示窗体即显示出对话框。.运行程序单击“退出”按钮将会出现如图所示的对话框单击“是”按钮退出应用程序。.在“解决方案资源管理器”中双击“frmTicketPublish”窗体并切换到该窗体在所有代码之前加上如下代码。ImportsTaskfrmTicketReward.编写“frmTicketPublish”窗体的Load事件过程代码如下。PrivateSubfrmTicketPublishLoad(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesMyBaseLoad'把中奖号码显示在各文本框中TextBoxText=CStr(a):TextBoxText=CStr(a)TextBoxText=CStr(a):TextBoxText=CStr(a)TextBoxText=CStr(a):TextBoxText=CStr(a)TextBoxText=CStr(a)EndSub说明:在窗体中可以访问被引入的其他窗体中定义的全局共享变量。.为该窗体的“关闭”按钮编写Click事件过程代码如下。PrivateSubButtonClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesButtonClickMeClose()'关闭本窗体EndSub.运行程序单击“摇奖”按钮进行摇奖单击“停止”按钮产生中奖号码单击“公布”按钮将会出现如图所示的“中奖号码公布”窗口单击“关闭”按钮将加到“摇奖”窗口。.保存项目至此本任务全部完成。归纳说明:Windows应用程序很少只由一个窗体组成一般情况下一个应用程序均拥有很多个窗体。VBNET项目刚建立时只有一个名为Form的窗体要建立多窗体应用程序应首先为项目添加窗体。在VBNET中还可以任意指定其他窗体为启动窗体。本任务通过体育彩票摇奖程序的实现过程讲解了多窗体程序设计的方法与注意事项。任务:简易文本编辑器程序丰富格式文本框、菜单、对话框、工具栏、状态栏等的应用任务描述:编写一个简易文本编辑器程序要求通过菜单能够实现文件的新建、打开、保存、另存为、退出等文件或应用程序操作功能能够实现撤消、重做、剪切、复制、粘贴、删除、全选等编辑操作功能能够实现设置文本的字体、颜色、背景色等格式操作功能。对于常用的功能还要通过工具栏实现还应具有状态栏对当前的状态进行提示。程序的设计界面如图所示程序的运行界面如图所示。图程序设计界面图程序运行界面任务分析:本任务涉及到菜单、工具栏、状态栏等多种控件中间涉及到多种编程技巧分析起来较困难将在讲解的过程中一步一步地加上详细分析。任务实现:.启动VBNET新建一个项目项目类型为“Windows应用程序”项目的存放位置为“D:VBTASKCH”项目名为“Task”。.把Form窗体的Text属性值设置为“简易文本编辑器”把它的Name属性值设置为“frmTextEditor”。单击“解决方案资源管理器”中的“FormVB”窗体然后在属性窗口中把它文件名属性设置为“frmTextEditorvb”。然后执行【项目】【Task属性】命令在出现的“Task属性页”对话框中把“启动对象”设置为“frmTextEditor”。.在工具箱上找到MainMenu(主菜单)控件图标“”并把该控件添加到窗体上标题栏下将出现菜单栏如图所示。图添加了MainMenu控件后出现的菜单栏图在菜单栏中输入了“文件F”菜单项.在“请在此处输入”文字上单击然后输入文字“文件F”如图所示。然后在属性窗体中把该菜单项的名称设置为“MenuItem”。.在“文件F”下面的“请在此处输入”文字上单击输入文字“新建N”然后在属性窗口中把Name属性值设置为MenuItem在属性窗口中选中Shortcut属性单击其后的向下箭头按钮在出现的列表中选择快捷键“CtrlN”如图所示。图为“文件F”菜单输入了“新建N”菜单项图设计好的“文件”菜单.使用同样的方法为“文件F”菜单再添加个菜单项菜单项的标题文字、名称、快捷键如表所示。设置好的文件菜单如图所示。表“文件”菜单中的其它菜单项及其属性设置菜单标题文字(Text属性值)菜单项名(Name属性值)快捷键(ShortCut属性值)打开OMenuItemCtrlO保存SMenuItemCtrlS另存为AMenuItemNoneMenuItemNone退出XMenuItemCtrlX说明:菜单项的常用属性如下:()Text属性:该属性用来获取或设置一个值通过该值显示菜单项标题。当使用Text属性为菜单项指定标题时还可以在字符前加一个“”号来指定热键(访问键即加下划线的字母)。例如若要将“File”中的“F”指定为访问键应将菜单项的标题指定为“File”。()Checked属性:该属性用来获取或设置一个值通过该值指示选中标记是否出现在菜单项文本的旁边。如果要放置选中标记在菜单项文本的旁边属性值为True否则属性值为False。默认值为False。()DefaultItem属性:该属性用来获取或设置一个值通过该值指示菜单项是否为默认菜单项。值为True时是默认菜单项值为False时不是默认菜单项。菜单的默认菜单项以粗体的形式显示。当用户双击包含默认项的子菜单后默认项被选定然后子菜单关闭。()Enabled属性:该属性用来获取或设置一个值通过该值指示菜单项是否可用。值为True时表示可用值为False时表示当前禁止使用。()RadioCheck属性:该属性用来获取或设置一个值通过该值指示选中的菜单项的左边是显示单选按钮还是选中标记。值为True时将显示单选按钮标记值为False时显示选中标记。()Shortcut属性:该属性用来获取或设置一个值该值指示与菜单项相关联的快捷键。()ShowShortcut属性:获取或设置一个值该值指示与菜单项关联的快捷键是否在菜单项标题的旁边显示。如果快捷组合键在菜单项标题的旁边显示该属性值True如果不显示快捷键该属性值为False。默认值为True。()MdiList属性:该属性用来获取或设置一个值通过该值指示是否用在关联窗体内显示的多文档界面(MDI)子窗口列表来填充菜单项。若要在该菜单项中显示MDI子窗口列表则设置该属性值为True否则设置该属性的值为False。默认值False。.单击“文件F”右边的“请在此处输入”输入“编辑E”形成编辑菜单在属性窗口设置“编辑”菜单的名称为“MenuItem”。再为“编辑”菜单输入个菜单项菜单项的标题文字、名称、快捷键如表所示。设置好的文件菜单如图所示。表“编辑”菜单中的菜单项及其属性设置菜单标题文字(Text属性值)菜单项名(Name属性值)快捷键(ShortCut属性值)撤消UMenuItemCtrlZ重做RMenuItemCtrlY剪切TMenuItemCtrlX复制CMenuItemCtrlC粘贴PMenuItemCtrlP删除DMenuItem全选AMenuItemCtrlA图设计好的“编辑”菜单图设计好了的“格式”菜单.采用类似的方法设计格式菜单设计好的格式菜单如图所示各菜单项及其属性设置如表所示。表“格式”菜单中的菜单项及其属性设置菜单标题文字(Text属性值)菜单项名(Name属性值)快捷键(ShortCut属性值)格式OMenuItemNone字体FMenuItemNone颜色CMenuItemNoneMenuItemNone背景MenuItemNone白色背景MenuItemNone灰色背景MenuItemNone注意:还需把“MenuItem”菜单项的RadioCheck属性值设置为True把它的Checked属性值设置为True。把“MenuItem”菜单项的RadioCheck属性值设置为False。.在工具箱中找到工具栏图标“”并为窗体添加一个ToolBar控件(工具栏控件)控件名称为ToolBar如图所示。图添加的工具栏控件说明:对读者来说工具栏并不陌生如Word中的常用工具栏、格式工具栏等。工具栏是由一系列的图标按钮组成形象化的图标与功能的对应使应用程序界面具有更好的交互性。在VBNET中要实现工具栏需要使用两个控件:ImageList控件和ToolBar控件。.在工具箱中找到图像列表控件图标“”并向窗体上添加一个ImageList控件(图像列表控件)控件名为ImageList。.用鼠标单击ImageList控件然后在“属性”窗口中选中“Images”属性单击其后的“…”按钮将会出现如图所示的“Image集合编辑器”对话框。.单击“添加”按钮将会出现“打开”文件对话框在该对话框中定义要添加到工具栏上的按钮图片文件然后按“打开”按钮反复操作直到需要的图形文件全部添加到“Image集合编辑器”的成员列表中如图所示(添加了“新建”、“打开”、“保存”三个操作的按钮图片)。然后按“确定”按钮关闭“Image集合编辑器”对话框。图“Image集合编辑器”对话框图添加了图片文件后的“Image集合编辑器”对话框.单击ToolBar工具栏控件设置它的ImageList属性值为“ImageList”。然后再在“属性”窗口中单击“Buttons”属性后面的“…”按钮将会出现“ToolBarButton集合编辑器”对话框。.在该窗口中单击“添加”按钮将会出现第一个按钮并且在窗口的右边将出现该按钮的属性设置窗口通过设置ImageIndex属性可以指定在按钮上显示的图片文件。图是添加了三个按钮后的“ToolBarButton集合编辑器”对话框。图添加了三个工具栏按钮后的“ToolBarButton集合编辑器”对话框.单击“确定”按钮关闭“ToolBarButton集合编辑器”对话框。设计好的工具栏如图所示。图设计好了的工具栏.在工具箱中找到状态栏图标“”并为窗体添加一个StatusBar控件(状态栏控件)控件名称为StatusBar。说明:状态栏一般位于应用程序窗口的下面用来显示程序的状态。.选中StatusBar控件在“属性”窗口中选中Panel属性单击其后的“…”按钮打开“StatusBarPanel集合编辑器”对话框在该编辑器中通过单击“添加”按钮为StatusBar添加三个面板如图所示。注意可以在该窗口的右边设置每个面板的属性如Name等。图添加了三个Panel面板的“StatusBarPanel集合编辑器”对话框.单击“确定”按钮返回程序设计界面选中StatusBar控件把它的ShowPanels属性值设置为True。设计好的状态栏如图所示。图设计好的状态栏.由于要在状态栏的某一Panel中显示当前时间为实现该功能可添加一个Timer控件设置该控件的Interval属性值为Enabled属性值为True。.在工具箱中找到丰富格式文本框图标“”并为窗体添加一个RichTextBox控件(丰富格式文本框控件)控件名称为RichTextBox控件位置任意在运行时由程序自动设置成充满除工具栏和状态栏外的所有窗体部分。至此界面设计基本完成设计好的界面如图所示(没有对话框控件)。.为窗体添加两个模块级变量代码如下。DimFnameAsString‘存放正在编辑的文件名如果新建的文件尚末保存则值为空串DimFExtNameAsString'扩展名.编写一个名为“RichTextBoxResize”的通用过程其作用是使丰富格式文本框充满除工具栏和状态栏外的所有空间。该过程在窗体加载时和改变大小时被调用。'该过程使丰富格式文本框充满除工具栏和状态栏外的所有空间PrivateSubRichTextBoxResize()'设置丰富格式文本框的起始位置为工具栏下面的最左上角RichTextBoxTop=ToolBarHeightRichTextBoxLeft='设置丰富格式文本框的宽度与窗体的用户区宽度一样RichTextBoxWidth=MeClientSizeWidth‘设置丰富格式文本框的高度为窗体用户区高度减去工具栏的高及状态栏的高度RichTextBoxHeight=MeClientSizeHeightToolBarHeight–StatusBarHeightEndSub.在工具箱中找到“保存文件”对话框控件的图标“”为窗体添加一个SaveFileDialog控件该控件主要用来弹出Windows中标准的“保存文件”对话框。.编写一个名为“SaveAs”的通用过程代码如下。该过程弹出“另存为”对话框供用户选择或输入要保存的文件名并把RichTextBox中的文本保存到该文件中去PrivateSubSaveAs()SaveFileDialogFilter="文本文件(*txt)|*txt|RTF格式文件(*RTF)|*RTF"SaveFileDialogFilterIndex='设置当前文件过程器SaveFileDialogTitle="保存文件"'设置对话框的标题SaveFileDialogInitialDirectory=ApplicationStartupPath'初始目录设为启动路径SaveFileDialogRestoreDirectory=True'自动恢复初始目录SaveFileDialogShowDialog()'弹出另存为对话框Fname=SaveFileDialogFileName'获取保存的文件名If(Fname<>"")Then'如果输入了文件名If(SaveFileDialogFilterIndex=)Then'如果是文本文件RichTextBoxSaveFile(Fname,RichTextBoxStreamTypePlainText)'文本文件FExtName="txt"ElseRichTextBoxSaveFile(Fname,RichTextBoxStreamTypeRichText)'RTF文件FExtName="rtf"EndIfMeText=Fname"简单文件编辑器"'设置标题EndIfRichTextBoxModified=False'保存后把RichtextBoxModified属性值变为FalseStatusBarPanels()Text="已保存"EndSub说明:()请读者参考语句后的说明体会“另存为对话框”控件各属性的含义。()该过程实现类似于“另存为…”菜单的功能。在保存文件且需要指定文件名的情况下可调用该过程。()本例调用了RichTextBox控件的SaveFile方法使用了RichTextBox控件的Modified属性。RichTextBox是一种既可以输入文本、又可以编辑文本的文字处理控件它在工具箱中的图标为“”。与TextBox控件相比RichTextBox控件的文字处理功能更加丰富不仅可以设定文字的颜色、字体还具有字符串检索功能。另外RichTextBox控件还可以打开、编辑和存储rtf格式文件、ASCII文本格式文件及Unicode编码格式的文件。下面详细介绍一下该控件的常用属性和方法。RichTextBox控件的常用属性前面介绍的TextBox控件所具有的属性RichTextBox控件基本上都具有除此之外该控件还具有一些其它属性。•RightMargin属性:用来设置或获取右侧空白的大小单位是像素。通过该属性可以设置右侧空白如希望右侧空白为像素可使用如下语句:RichTextBoxRightMargin=RichTextBoxWidth•Rtf属性:该属性用来获取或设置RichTextBox控件中的文本包括所有RTF格式代码。可以使用此属性将RTF格式文本放到控件中以进行显示或提取控件中的RTF格式文本。此属性通常用于在RichTextBox控件和其它RTF源(如MicrosoftWord或Windows写字板)之间交换信息。•SelectedRtf属性:该属性用来获取或设置控件中当前选定的RTF格式的格式文本。此属性使用户得以获取控件中的选定文本包括RTF格式代码。如果当前未选定任何文本给该属性赋值将把所赋的文本插入到插入点处。如果选定了文本则给该属性所赋的文本值将替换掉选定文本。•SelectionColor属性:该属性用来获取或设置当前选定文本或插入点处的文本颜色。•SelectionFont属性:该属性用来获取或设置当前选定文本或插入点处文本的字体。常用方法前面介绍的TextBox控件所具有的方法RichTextBox控件基本上都具有除此之外该控件还具有一些其它方法。•Redo方法该方法用来重做上次被撤消的操作。调用的一般格式如下:RichTextBox对象Redo()该方法无参数。•Find方法该方法用来从RichTextBox控件中查找指定的字符串。经常使用的调用格式如下:格式:RichTextBox对象Find(str)功能:在指定的“RichTextBox”控件中查找文本并返回搜索文本的第一个字符在控件内的位置。如果未找到搜索字符串或者str参数指定的搜索字符串为空则返回值为。格式:RichTextBox对象Find(str,RichTextBoxFinds)功能:在“RichTextBox对象”指定的文本框中搜索str参数中指定的文本并返回文本的第一个字符在控件内的位置。如果返回负值则未找到所搜索的文本字符串。还可以使用此方法搜索特定格式的文本。参数RichTextBoxFinds指定如何在控件中执行文本搜索其取值及其含义如表所示。表RichTextBoxFinds参数的取值及含义成员名称说明MatchCase仅定位大小写正确的搜索文本的实例。NoHighlight如果找到搜索文本不突出显示它。None定位搜索文本的所有实例而不论是否为全字匹配。Reverse搜索在控件文档的结尾处开始并搜索到文档的开头。WholeWord仅定位全字匹配的文本。格式:RichTextBox对象Find(str,start,RichTextBoxFinds)功能:此版本的Find方法与前面的格式基本类似不同的只是通过设置搜索起始位置来缩小文本搜索范围start参数表示开始搜索的位置。此功能使用户得以避开可能已搜索过的文本或已经知道不包含要搜索的特定文本的文本。如果在options参数中指定了RichTextBoxFindsReverse值则start参数的值将指示反向搜索结束的位置因为搜索是从文档底部开始的。SaveFile方法该方法用来把RichTextBox中的信息保存到指定的文件中调用格式有以下三种:格式:RichTextBox对象名SaveFile(文件名)功能:将RichTextBox控件中的内容保存为RTF格式文件中。格式:RichTextBox对象名SaveFile(文件名,文件类型)功能:将RichTextBox控件中的内容保存为“文件类型”指定的格式文件中。格式:RichTextBox对象名SaveFile(数据流,数据流类型)功能:将RichTextBox控件中的内容保存为“数据流类型”指定的数据流类型文件中。其中文件类型或数据流类型的取值及含义如表所示。表文件类型或数据流类型的取值及含义取值含义RichTextBoxStreamTypePlainText纯文本流RichTextBoxStreamTypeRichTextRTF格式流RichTextBoxStreamTypeUnicodePlainText采用Unicode编码的文本流LoadFile方法使用LoadFile方法可以将文本文件、RTF文件装入RichTextBox控件。主要的调用格式有以下三种。格式:RichTextBox对象名LoadFile(文件名)功能:将RTF格式文件或标准ASCII文本文件加载到RichTextBox控件中。格式:RichTextBox对象名LoadFile(数据流,数据流类型)功能:将现有数据流的内容加载到RichTextBox控件中。格式:RichTextBox对象名LoadFile(文件名,文件类型)功能:将特定类型的文件加载到RichTextBox控件中。注意:文件类型和数据流格式见表。.编写一个名为“NotSaveProcess”的通用过程代码如下。PrivateSubNotSaveProcess()'没有保存处理IfRichTextBoxModifiedThen'如果RichTextBox中的文本被修改则提示是否保存IfMsgBox("尚未保存是否保存?",MsgBoxStyleYesNo,"保存提示")=MsgBoxResultYesThen'需要保存处理IfFname=""Then'如果文件名为空文件尚未命名则是第一次保存CallSaveAs()'调用SaveAs过程Else'文件已经命名已经保存过If(FExtName="txt")Then'如果是文本文件'文本文件保存RichTextBoxSaveFile(Fname,RichTextBoxStreamTypePlainText)Else'RTF文件保存RichTextBoxSaveFile(Fname,RichTextBoxStreamTypeRichText)EndIfEndIfEndIfEndIfEndSub说明:该过程首行测试文件是否被修改过如果已经修改则提示是否保存再根据用户的选择决定是否保存文件。为了防止对文件的修改丢失可在“新建”、“打开”、“退出”等菜单命令执行时选择调用本过程测试正在处理的文件是否被修改如果被修改让用户决定是否保存。.编写一个名为“NewFile”的通用过程代码如下。PrivateSubNewFile()CallNotSaveProcess()'调用过程NotSaveProcess实现没有保存处理Fname=""'文件名为空FExtName="txt"'文件的扩展名为空RichTextBoxText=""'清空RichTextBox中显示的文本MeText="新建简单文件编辑器"'设置标题RichTextBoxModified=FalseStatusBarPanels()Text="已保存"EndSub说明:该过程在用户选择了“新建”菜单项或单击了工具栏上的“新建”按钮时将被调用。.在窗体的设计界面上双击“文件F”菜单中的“新建”菜单项在出现的代码窗体中编写该菜单项的事件过程代码如下。'“新建”菜单项PrivateSubMenuItemClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesMenuItemClickCallNewFile()'调用NewFile过程EndSub说明:菜单项的常用事件主要有Click事件该事件在用户单击菜单项时发生。.运行程序将会出现一个空白的输入区域标题为“新建简单文件编辑器”。在空白输入区域中输入任意字符。选择“文件”菜单中的“新建”菜单项将会出现如图所示的“保存提示”对话框。单击“是”按钮将会出现如图所示的“保存文件”对话框该对话框是调用SaveFileDialog控件的ShowDialog方法弹出的。在该对话框中用户可以选择或输入保存的文件类型、保存位置和保存的文件名。图“保存提示”对话框图“保存文件”对话框.在工具箱中找到“打开文件”对话框控件(OpenFileDialog控件)图标“”并为窗体添加一个OpenFileDialog控件。说明:OpenFileDialog控件又称“打开文件”对话框主要用来弹出Windows中标准的打开文件对话框。.编写一个名为“FileOpen”的通用过程代码如下。PrivateSubFileOpen()CallNotSaveProcess()'调用过程NotSaveProcess实现没有保存的处理'设置过滤器属性OpenFileDialogFilter="文本文件(*txt)|*txt|RTF格式文件(*RTF)|*RTF"OpenFileDialogFilterIndex='设置当前文件过滤器OpenFileDialogTitle="打开文件"'设置对话框的标题OpenFileDialogInitialDirectory=ApplicationStartupPath'初始目录设为启动路径OpenFileDialogRestoreDirectory=True'自动恢复初始目录OpenFileDialogShowDialog()'弹出打开文件对话框Fname=OpenFileDialogFileName'获取打开的文件名If(Fname<>"")Then'如果选择了文件If(OpenFileDialogFilterIndex=)Then'如果是文本文件RichTextBoxLoadFile(Fname,RichTextBoxStreamTypePlainText)'文本文件FExtName="txt"ElseRichTextBoxLoadFile(Fname,RichTextBoxStreamTypeRichText)'RTF文件FExtName="rtf"EndIfEndIfMeText=Fname"简单文件编辑器"'设置标题RichTextBoxModified=False'文件刚打开时,把RichtextBoxModified属性值设为FalseStatusBarPanels()Text="已保存"EndSub说明:()该过程在用户选择了“打开”菜单项或单击了工具栏上的“打开”按钮时将被调用。()上述代码中使用了OpenFileDialog控件的多个属性并调用了它的ShowDialog方法。下面将该控件的常用属性和方法作详细的介绍。OpenFileDialog控件的常用属性•Title属性:该属性用来获取或设置对话框标题默认值为空字符串("")。如果标题为空字符串则系统将使用默认标题“打开”。•Filter属性:该属性用来获取或设置当前文件名筛选器字符串该字符串决定对话框的【另存为文件类型】或【文件类型】框中出现的选择内容。对于每个筛选选项筛选器字符串都包含筛选器说明、垂直线条(|)和筛选器模式。不同筛选选项的字符串由垂直线条隔开。下面是筛选器字符串的一个示例:“文本文件(*txt)|*txt|所有文件(**)|**”。还可以通过用分号来分隔各种文件类型可以将多个筛选器模式添加到筛选器中。例如:“图像文件(*BMP*JPG*GIF)|*BMP*JPG*GIF|所有文件(**)|**”•FilterIndex属性:该属性用来获取或设置文件对话框中当前选定筛选器的索引。第一个筛选器的索引为默认值为。•FileName属性:该属性用来获取在打开文件对话框中选定的文件名的字符串。文件名既包含文件路径也包含扩展名。如果未选定文件该属性将返回空字符串("")。•InitialDirectory属性:该属性用来获取或设置文件对话框显示的初始目录默认值为空字符串("")。•ShowReadOnly属性:该属性用来获取或设置一个值该值指示对话框是否包含只读复选框。如果对话框包含只读复选框则属性值为True否则属性值为False。默认值为False。•ReadOnlyChecked属性:该属性用来获取或设置一个值该值指示是否选中只读复选框。如果选中了只读复选框则属性值为True反之属性值为False。默认值为False。•Multiselect属性:该属性用来获取或设置一个值该值指示对话框是否允许选择多个文件。如果对话框允许同时选定多个文件则该属性值为True反之属性值为False。默认值为False。•FileNames属性:该属性用来获取对话框中所有选定文件的文件名。每个文件名都既包含文件路径又包含文件扩展名。如果未选定文件该方法将返回空数组。•RestoreDirectory属性:该属性用来获取或设置一个值该值指示对话框在关闭前是否还原当前目录。假设用户在搜索文件的过程中更改了目录且该属性值为True那么对话框会将当前目录还原为初始值若该属性值为False则不还原成初始值。默认值为False。OpenFileDialog控件的常用方法常用方法有两个OpenFile和ShowDialog方法本节只介绍ShowDialog方法该方法的作用是显示通用对话框其一般调用形式如下:对话框控件名ShowDialog()调用该方法后将会出现对话框如果用户单击对话框中的“确定”按钮则返回值为DialogResultOK否则返回值为DialogResultCancel。其它对话框控件均具有ShowDialog方法以后不再重复介绍。()SaveFileDialog控件也具有FileName、Filter、FilterIndex、InitialDirectory、Title等属性这些属性的作用与OpenFileDialog对话框控件基本一致。()需注意的是:上述两个对话框只返回要打开或保存的文件名并没有真正提供打开或保存文件的功能程序员必须自己编写文件打开或保存程序才能真正实现文件的打开和保存功能。bruke矩形.编写“打开”菜单项的Click事件过程代码如下。'“打开”菜单项PrivateSubMenuItemClick(ByValsenderAsSystemObject,ByValeAsSystemEventArgs)HandlesMenuItemClickCallFileOpen()EndSub图“打开文件”对话框.执行程序选择“文件”菜单中的“打开”菜单项将会出现如图所示的“打开文件”对话框用户选择文件类型和文件名后单击“打开”按钮将把相应的文件打开并显示在编辑区域(RichTextBox控件)中并且文件名将显示在窗口的标题栏上。说明:“打开文件”对话框是调用OpenFileDialog的ShowDialog方法弹出的。.编写一个名为“Save”的通用过程代码如下。PrivateSubSave()'该函数实现保存功能IfRichTextBoxModifiedThen'如果RichTextBox中的文本被修改则要保存IfFname=""Then'如果文件名为空文件尚未命名则是第一次保存CallSaveAs()'调用SaveAs过程Else'文件已经命名已经保存过If(FExtName="txt")Then'如果是文本文件'文本文件保存RichTextBoxSaveFile(Fname,RichTextBoxStreamTypePlainText)Else'RTF文件保存RichTextBoxSaveFile(Fname,RichTextBoxStreamTypeRichText)EndIfEndIfEndIfRichTextBoxModified=False'保存后把RichtextBoxModified属性值变为FalseStatusBarPanels()Text="已保存"EndSub说明:()该过程首先判断Fname变量值是否为空如果为空则是第一次保存调用SaveAs对话框弹出“保存文件”对话框供用户对文件进行命名。如果Fname变量值不为空直接保存到该文件中即可。()在选择“文件”菜单中的“保存”菜单项时或单击工具栏上的“保存”按钮

职业精品

精彩专题

上传我的资料

热门资料

资料评价:

/ 82
所需积分:2 立即下载

意见
反馈

返回
顶部

Q