Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007

上传人:E**** 文档编号:89350465 上传时间:2019-05-23 格式:PPT 页数:161 大小:2.88MB
返回 下载 相关 举报
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007_第1页
第1页 / 共161页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007_第2页
第2页 / 共161页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007_第3页
第3页 / 共161页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007_第4页
第4页 / 共161页
Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007_第5页
第5页 / 共161页
点击查看更多>>
资源描述

《Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007》由会员分享,可在线阅读,更多相关《Visual C_.NET程序设计基础 教学课件 ppt 作者 曾文权 7-11 007(161页珍藏版)》请在金锄头文库上搜索。

1、第7章 WinForms应用程序对话框设计,7.1 对话框特点与分类 7.2 使用系统定义的对话框 7.3 创建自定义对话框 7.4 综合案例:写字板制作 245 本章小结 练习与作业 上机部分(七), 学习目标 了解对话框特点与分类 掌握系统定义的对话框:打开文件对话框、保存文件对话框、字体对话框、颜色对话框等 掌握创建自定义对话框的方法,7.1 对话框特点与分类 对话框是用户与应用程序之间交换信息的有效途径之一。它是在另一个窗口中显示的窗口,在继续执行程序流之前,可以让用户输入一些数据。一般意义而言,有两种形式的对话框,即模式对话框和无模式对话框,但实际使用的对话框绝大多数是有模式对话框。

2、 模式对话框是指在继续执行该应用程序之前,要求用户先响应对话框。模式对话框通常用来显示重要的消息,如Word的“页面设置”对话框即是模式的。无模式的对话框在对话框显示时,允许在当前应用程序的其他地方继续工作。Word中的“查找与替换”对话框就是一个无模式对话框的实例,它适用于显示频繁使用的命令与信息。,有模式对话框具有以下特点: 在一般情况下,用户没有必要改变对话框的大小,因此其边框是固定的。 为了退出对话框,必须单击其中的某个按钮,不能通过单击对话框外部的某个地方关闭对话框。 在对话框中不能有最大化按钮(Max Button)和最小化按钮(Min Button),以免被意外地扩大或缩成图标。

3、 对话框中不是应用程序的主要工作区,只是临时使用,使用后就关闭。 对话框中控件的属性可以在设计阶段设置,但在有些情况下,必须在运行时(即在代码中)设置控件的属性,因为某些属性设置取决于程序中的条件判断。,本质上来说,对话框是一个FormBorderStyle属性为FixedDialog的窗体。因此可以用前面所讲的设计窗体的方法定制对话框;在 .NET Framework也包括预定义的对话框,如图7-1所示。 除PrintPreviewDialog外,其余对话框类都派生于抽象基类CommonDialog,该基类定义了表7-1所示的主要方法和事件,它们对于所有的预定义对话框类来说都是适用的。 Pr

4、intPreviewDialog是一个例外,其基类为Form,控制打印预览,所以它并不是一个真正的对话框。OpenFileDialog和SaveFileDialog类派生于抽象基类FileDialog,该基类提供了对于打开和关闭文件对话框来说都相同的文件功能。,图7-1 预定义的对话框,表7-1 CommonDialog主要的方法和事件,注意:对于公司开发的应用程序,应考虑重用通用对话拒,并且应建立定制对话框的样式规则。尽量使建立和使用的对话框保持一致。 在 .NET Framework中,提供了Windows预定义对话框的组件,主要放在工具箱的“对话框”下。预定义对话框的组件名和意义如表7-

5、2所示。,表7-2 预定义对话框的组件名和意义,7.2 使用系统定义的对话框 7.2.1 打开文件对话框 OpenFileDialog 组件是一个预先配置的对话框。它与 Windows 操作系统所公开的“打开文件”对话框相同。该控件从CommonDialog类继承。 在基于Windows的应用程序中可将该组件用作简单的文件选择解决方案,而不用配置您自己的对话框。利用标准的Windows对话框,您可以创建其基本功能可立即为用户 所熟悉的应用程序。但应注意,使用OpenFileDialog组件时,必须编写您自己的文件打开逻辑。,将OpenFileDialog组件添加到窗体后,它出现在Windows

6、窗体设计器底部的栏中,可使用ShowDialog方法在运行时显示该对话框;您也可以在需要时(如单击按钮),编写下列语句: OpenFileDialog dlg = new OpenFileDialog(); dlg.ShowDialog(); 运行这两行代码,得到如图7-2所示的运行结果。 可以看出,我们在调用ShowDialog之前没有改变类的属性,因此出现了一个标准的打开文件对话框,我们也可改变对话框的操作方式和外观,或限制可以打开的文件。下面介绍OpenFileDialog的公共属性,如表7-3所示。,图7-2 打开文件对话框的运行结果,表7-3 OpenFileDialog的公共属性,

7、使用 Multiselect 属性可使用户选择多个要打开的文件。另外,可使用 ShowReadOnly 属性确定在对话框中是否出现只读复选框。ReadOnlyChecked 属性指示是否选中只读复选框。最后,Filter 属性设置当前文件名筛选字符串,该字符串确定出现在对话框的“文件类型”框中的选择。 1对话框的标题 OpenFileDialog的默认标题是“打开”。设置Title 属性可以改变对话框的标题。例如,Visual Studio 2005本身为文件打开对话框就设置了不同的标题。 下面的代码说明了如何设置不同的标题: OpenFileDialog dlg = new OpenFile

8、Dialog(); dlg.Title = “文本文件“; dlg.ShowDialog();,2指定目录 默认情况下,对话框将打开用户在上一次运行应用程序时所打开的目录,并显示该目录的文件。设置InitialDirectory属性可以改变这种设置。InitialDirectory的默认值是一个空字符。 通常情况下,在应用程序中不应使用硬编码的目录字符串,因为这个目录可能在用户的系统上不存在。为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可定义要返回路径

9、的那个系统目录。 在下面的代码范例中,把InitialDirectory设置为通用用户目录: string dir = Environment.GetFolderPath(Environment.SpecialFolder.Templates); dlg.InitialDirectory = dir; dlg.ShowDialog();,3文件过滤器 Filter属性用来设置当前文件名筛选器字符串,该字符串确定打开文件对话框中的“文件类型”列表框中出现的选择内容,如图7-3所示。下面是一个简单的筛选器字符串的示例: 文本文件|*.txt|C#文件|*.cs|所有文件|*.*“ 对于每个筛选选项

10、,筛选器字符串都包含筛选器说明,后接一垂直线条(|)和筛选器模式;筛选器说明确定“文件类型”列表框显示的“文件种类名称”,筛选器模式表示文件的扩展文件名。因此,照上述示例,打开文件组件显示3个文件类型,如图7-3所示。,图7-3 过滤器设置,需打开的文件类型可以有多个,可使用FilterIndex属性设置第一个显示给用户的筛选选项。 FilterIndex属性用于获取或设置文件对话框中当前选定筛选器的索引。 在程序中设置过滤器,可使用如下代码: dlg.Filter = “文本文件|*.txt|C#文件|*.cs|所有文件|*.*“; 4有效性检验 试图打开一个文件前,OpenFileDial

11、og组件可执行文件的有效性验证。输入无效的文件名,则会显示如图7-4和图7-5所示的提示信息。,图7-4 文件名检验(1),图7-5 文件名检验(2),有效性检验需要对三个属性进行设置,将其全部设置为True。这三个属性是: ValidateNames 指示对话框是否只接受有效的Win32文件名。 CheckFileExists 指示如果用户指定不存在的文件名,对话框是否显示警告。 CheckPathExists 指示如果用户指定不存在的路径,对话框是否显示警告。 5结果 OpenFileDialog类的ShowDialog()方法返回一个DialogResult枚举。该枚举定义的成员有:Ab

12、ort、Cancel、Ignore、No、None、OK、Retry和Yes。,默认值是None,用户单击按钮,将返回对应的结果。对OpenFileDialog而言,则只返回DialogResult.Ok和DialogResult.Cancel。 如果用户单击【打开】按钮,选中的文件名可以使用FileName属性来访问;如果用户单击【取消】按钮,FileName属性为一个空字符串。 6打开文件 用户选定要打开的文件后,可以使用两种机制来打开文件。如果希望使用文件流,则可以创建 StreamReader 类的实例。另一种方法是使用 OpenFile 方法打开选定的文件。,提示:如果你希望详细了解

13、文件流的有关概念,请查阅MSDN有关文档。 1) 使用 OpenFileDialog 组件以流方式打开文件 【例7-1】 下面的示例使用 Button 控件的 Click 事件处理 OpenFileDialog 组件的打开文件事件。当用户选定某个文件并单击“确定”后,将打开对话框中选定的文件。文件内容显示在一个消息框中。 (1) 新建一个Windows应用程序,将其名称设置为Demo7-1。 (2) 将默认创建的窗体名称设置为frm7_1,将窗体的标题设置为“范例7-1”。 (3) 在主窗口中添加一个Button控件和一个OpenFileDialog 控件;Button控件命名为“btnOpe

14、n”,Text属性设置为“打开文件”。,(4) 在btnOpen控件的 Click事件中编写下列代码: private void btnOpen_Click(object sender, System.EventArgs e) if(openFileDialog1.ShowDialog() = DialogResult.OK) System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName); MessageBox.Show(sr.ReadToEnd(); sr.Close(); 2) 使用 Ope

15、nFileDialog 组件以文件方式打开文件 使用 ShowDialog 方法显示对话框,并使用 OpenFile 方法打开文件。,OpenFileDialog 组件的 OpenFile 方法返回构成文件的字节。这些字节为您提供了一个可从中读取的流。 【例7-2】 在下面的示例中,将实例化一个具有“cursor”筛选器的 OpenFileDialog 组件,使用户只能选择具有 .cur 文件扩展名的文件。如果选择了一个 .cur 文件,该窗体的光标将设置为选定的光标。 (1) 新建一个Windows应用程序,将其名称设置为Demo7-2。 (2) 将默认创建的窗体名称设置为frm7_2,将窗

16、体的标题设置为“范例7-2”。 (3) 在主窗口中添加一个Button控件;该Button控件命名为“btnCursor”,Text属性设置为“设置窗体光标”。,(4) 在btnCursor控件的 Click事件中编写下列代码: private void btnCursor_Click(object sender, System.EventArgs e) /显示OpenFileDialog 组件,让用户选择“光标”文件 OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = “Cursor Files|*.cur“; openFileDialog1.Title = “Select a Cursor File“; /如用户选择了“光标”文件,则打开它 if (openFileDialog1.ShowDialog() = DialogResult.OK) /对窗体的Cursor属性设置为选定

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号