《Visual C# NET程序设计基础》课件007.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《《Visual C# NET程序设计基础》课件007.ppt》由用户(kld)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Visual C# NET程序设计基础 Visual C# NET程序设计基础课件007 Visual NET 程序设计 基础 课件 007
- 资源描述:
-
1、第7章 WinForms应用程序对话框设计第第7章章 WinForms应用程序应用程序对话框设计对话框设计7.1 对话框特点与分类对话框特点与分类7.2 使用系统定义的对话框使用系统定义的对话框7.3 创建自定义对话框创建自定义对话框7.4 综合案例:写字板制作综合案例:写字板制作 245本章小结本章小结练习与作业练习与作业上机部分上机部分(七七)第7章 WinForms应用程序对话框设计学习目标 了解对话框特点与分类 掌握系统定义的对话框:打开文件对话框、保存文件对话框、字体对话框、颜色对话框等 掌握创建自定义对话框的方法第7章 WinForms应用程序对话框设计7.1 对话框特点与分类对话
2、框特点与分类 对话框是用户与应用程序之间交换信息的有效途径之一。它是在另一个窗口中显示的窗口,在继续执行程序流之前,可以让用户输入一些数据。一般意义而言,有两种形式的对话框,即模式对话框和无模式对话框,但实际使用的对话框绝大多数是有模式对话框。模式对话框是指在继续执行该应用程序之前,要求用户先响应对话框。模式对话框通常用来显示重要的消息,如Word的“页面设置”对话框即是模式的。无模式的对话框在对话框显示时,允许在当前应用程序的其他地方继续工作。Word中的“查找与替换”对话框就是一个无模式对话框的实例,它适用于显示频繁使用的命令与信息。第7章 WinForms应用程序对话框设计 有模式对话框
3、具有以下特点:在一般情况下,用户没有必要改变对话框的大小,因此其边框是固定的。为了退出对话框,必须单击其中的某个按钮,不能通过单击对话框外部的某个地方关闭对话框。在对话框中不能有最大化按钮(Max Button)和最小化按钮(Min Button),以免被意外地扩大或缩成图标。对话框中不是应用程序的主要工作区,只是临时使用,使用后就关闭。对话框中控件的属性可以在设计阶段设置,但在有些情况下,必须在运行时(即在代码中)设置控件的属性,因为某些属性设置取决于程序中的条件判断。第7章 WinForms应用程序对话框设计 本质上来说,对话框是一个FormBorderStyle属性为FixedDialo
4、g的窗体。因此可以用前面所讲的设计窗体的方法定制对话框;在.NET Framework也包括预定义的对话框,如图7-1所示。除PrintPreviewDialog外,其余对话框类都派生于抽象基类CommonDialog,该基类定义了表7-1所示的主要方法和事件,它们对于所有的预定义对话框类来说都是适用的。PrintPreviewDialog是一个例外,其基类为Form,控制打印预览,所以它并不是一个真正的对话框。OpenFileDialog和SaveFileDialog类派生于抽象基类FileDialog,该基类提供了对于打开和关闭文件对话框来说都相同的文件功能。第7章 WinForms应用程
5、序对话框设计图7-1 预定义的对话框第7章 WinForms应用程序对话框设计表表7-1 CommonDialog主要的方法和事件主要的方法和事件 方法和事件 说 明 ShowDialog()显示对话框 Reset()每个派生的对话框类都执行 Reset()方法,把对话框类的所有属性设置为其默认值 HelpRequest 当用户单击对话框上的【Help】按钮时,就引发该事件 第7章 WinForms应用程序对话框设计 注意:对于公司开发的应用程序,应考虑重用通用对话拒,并且应建立定制对话框的样式规则。尽量使建立和使用的对话框保持一致。在.NET Framework中,提供了Windows预定义
6、对话框的组件,主要放在工具箱的“对话框”下。预定义对话框的组件名和意义如表7-2所示。第7章 WinForms应用程序对话框设计表表7-2 预定义对话框的组件名和意义预定义对话框的组件名和意义组件名 说 明 ColorDialog 使用户可以在预先配置的对话框中从调色板选择颜色以及将自定义颜色添加到该调色板中 FolderBrowserDialog 使用户可以浏览和选择文件夹 FontDialog 公开系统上当前安装的字体 OpenFileDialog 允许用户通过预先配置的对话框打开文件 PageSetupDialog 通过预先配置的对话框设置供打印的页详细信息 PrintDialog 选择
7、打印机,选择要打印的页,并确定其他与打印相关的设置 PrintPreviewDialog 按文档打印时的样式显示文档 SaveFileDialog 选择要保存的文件和该文件的保存位置 第7章 WinForms应用程序对话框设计7.2 使用系统定义的对话框使用系统定义的对话框7.2.1 打开文件对话框打开文件对话框 OpenFileDialog 组件是一个预先配置的对话框。它与 Windows 操作系统所公开的“打开文件”对话框相同。该控件从CommonDialog类继承。在基于Windows的应用程序中可将该组件用作简单的文件选择解决方案,而不用配置您自己的对话框。利用标准的Windows对话
8、框,您可以创建其基本功能可立即为用户所熟悉的应用程序。但应注意,使用OpenFileDialog组件时,必须编写您自己的文件打开逻辑。第7章 WinForms应用程序对话框设计 将OpenFileDialog组件添加到窗体后,它出现在Windows窗体设计器底部的栏中,可使用ShowDialog方法在运行时显示该对话框;您也可以在需要时(如单击按钮),编写下列语句:OpenFileDialog dlg=new OpenFileDialog();dlg.ShowDialog();运行这两行代码,得到如图7-2所示的运行结果。可以看出,我们在调用ShowDialog之前没有改变类的属性,因此出现了
9、一个标准的打开文件对话框,我们也可改变对话框的操作方式和外观,或限制可以打开的文件。下面介绍OpenFileDialog的公共属性,如表7-3所示。第7章 WinForms应用程序对话框设计图7-2 打开文件对话框的运行结果第7章 WinForms应用程序对话框设计表表7-3 OpenFileDialog的公共属性的公共属性名 称 说 明 AddExtension 获取或设置一个值,该值指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名(从 FileDialog 继承)CheckFileExists 已重写。获取或设置一个值,该值指示如果用户指定不存在的文件名,对话框是否显示警告(从
10、FileDialog 继承:但“已重写”)CheckPathExists 获取或设置一个值,该值指示如果用户指定不存在的路径,对话框是否显示警告(从 FileDialog 继承)Container 获取 IContainer,它包含 Component(从 Component 继承)DefaultExt 获取或设置默认文件扩展名(从 FileDialog 继承)DeferenceLinks 获取或设置一个值,该值指示对话框是否返回快捷方式引用的文件的位置,或者是否返回快捷方式(.lnk)的位置(从 FileDialog 继承)FileName 获取或设置一个包含在文件对话框中选定的文件名的字符
11、串(从 FileDialog 继承)第7章 WinForms应用程序对话框设计FileNames 获取对话框中所有选定文件的文件名(从 FileDialog 继承)Filter 获取或设置当前文件名筛选器字符串,该字符串决定对话框的“另存为文件类型”或“文件类型”框中出现的选择内容(从 FileDialog 继承)FilterIndex 获取或设置文件对话框中当前选定筛选器的索引(从 FileDialog继承)InitialDirectory 获取或设置文件对话框显示的初始目录(从 FileDialog 继承)Multiselect 获取或设置一个值,该值指示对话框是否允许选择多个文件 Rea
12、dOnlyChecked 获取或设置一个值,该值指示是否选定只读复选框 RestoreDirectory 获取或设置一个值,该值指示对话框在关闭前是否还原当前目录(从 FileDialog 继承)ShowHelp 获取或设置一个值,该值指示文件对话框中是否显示【帮助】按钮(从 FileDialog 继承)第7章 WinForms应用程序对话框设计ShowReadOnly 获取或设置一个值,该值指示对话框是否包含只读复选框 Site 获取或设置 Component 的ISite(从Component 继承)SupportMultiDotted Extensions 获取或设置对话框是否支持显示和
13、保存具有多个文件扩展名的文件(从 FileDialog 继承)Tag 获取或设置一个对象,该对象包含控件的数据(从CommonDialog继承)Title 获取或设置文件对话框标题(从FileDialog 继承)ValidateNames 获取或设置一个值,该值指示对话框是否只接受有效的 Win32 文件名(从 FileDialog继承)第7章 WinForms应用程序对话框设计 使用 Multiselect 属性可使用户选择多个要打开的文件。另外,可使用 ShowReadOnly 属性确定在对话框中是否出现只读复选框。ReadOnlyChecked 属性指示是否选中只读复选框。最后,Filt
14、er 属性设置当前文件名筛选字符串,该字符串确定出现在对话框的“文件类型”框中的选择。1对话框的标题对话框的标题 OpenFileDialog的默认标题是“打开”。设置Title 属性可以改变对话框的标题。例如,Visual Studio 2005本身为文件打开对话框就设置了不同的标题。下面的代码说明了如何设置不同的标题:OpenFileDialog dlg=new OpenFileDialog();dlg.Title=文本文件;dlg.ShowDialog();第7章 WinForms应用程序对话框设计 2指定目录指定目录 默认情况下,对话框将打开用户在上一次运行应用程序时所打开的目录,并显
15、示该目录的文件。设置InitialDirectory属性可以改变这种设置。InitialDirectory的默认值是一个空字符。通常情况下,在应用程序中不应使用硬编码的目录字符串,因为这个目录可能在用户的系统上不存在。为了获取特定的系统文件夹,可以使用System.Environment类的静态方法GetFolderPath()。该方法接受一个Environment.SpecialFolder枚举,其中可定义要返回路径的那个系统目录。在下面的代码范例中,把InitialDirectory设置为通用用户目录:string dir=Environment.GetFolderPath(Environ
16、ment.SpecialFolder.Templates);dlg.InitialDirectory=dir;dlg.ShowDialog();第7章 WinForms应用程序对话框设计 3文件过滤器文件过滤器 Filter属性用来设置当前文件名筛选器字符串,该字符串确定打开文件对话框中的“文件类型”列表框中出现的选择内容,如图7-3所示。下面是一个简单的筛选器字符串的示例:文本文件|*.txt|C#文件|*.cs|所有文件|*.*对于每个筛选选项,筛选器字符串都包含筛选器说明,后接一垂直线条(|)和筛选器模式;筛选器说明确定“文件类型”列表框显示的“文件种类名称”,筛选器模式表示文件的扩展文
17、件名。因此,照上述示例,打开文件组件显示3个文件类型,如图7-3所示。第7章 WinForms应用程序对话框设计图7-3 过滤器设置第7章 WinForms应用程序对话框设计 需打开的文件类型可以有多个,可使用FilterIndex属性设置第一个显示给用户的筛选选项。FilterIndex属性用于获取或设置文件对话框中当前选定筛选器的索引。在程序中设置过滤器,可使用如下代码:dlg.Filter=文本文件|*.txt|C#文件|*.cs|所有文件|*.*;4有效性检验有效性检验 试图打开一个文件前,OpenFileDialog组件可执行文件的有效性验证。输入无效的文件名,则会显示如图7-4和图
18、7-5所示的提示信息。第7章 WinForms应用程序对话框设计图7-4 文件名检验(1)第7章 WinForms应用程序对话框设计 图7-5 文件名检验(2)第7章 WinForms应用程序对话框设计 有效性检验需要对三个属性进行设置,将其全部设置为True。这三个属性是:ValidateNames 指示对话框是否只接受有效的Win32文件名。CheckFileExists 指示如果用户指定不存在的文件名,对话框是否显示警告。CheckPathExists 指示如果用户指定不存在的路径,对话框是否显示警告。5结果结果 OpenFileDialog类的ShowDialog()方法返回一个Dia
19、logResult枚举。该枚举定义的成员有:Abort、Cancel、Ignore、No、None、OK、Retry和Yes。第7章 WinForms应用程序对话框设计 默认值是None,用户单击按钮,将返回对应的结果。对OpenFileDialog而言,则只返回DialogResult.Ok和DialogResult.Cancel。如果用户单击【打开】按钮,选中的文件名可以使用FileName属性来访问;如果用户单击【取消】按钮,FileName属性为一个空字符串。6打开文件打开文件 用户选定要打开的文件后,可以使用两种机制来打开文件。如果希望使用文件流,则可以创建 StreamReader
20、 类的实例。另一种方法是使用 OpenFile 方法打开选定的文件。第7章 WinForms应用程序对话框设计 提示:如果你希望详细了解文件流的有关概念,请查阅MSDN有关文档。1)使用 OpenFileDialog 组件以流方式打开文件 【例7-1】下面的示例使用 Button 控件的 Click 事件处理 OpenFileDialog 组件的打开文件事件。当用户选定某个文件并单击“确定”后,将打开对话框中选定的文件。文件内容显示在一个消息框中。(1)新建一个Windows应用程序,将其名称设置为Demo7-1。(2)将默认创建的窗体名称设置为frm7_1,将窗体的标题设置为“范例7-1”。
21、(3)在主窗口中添加一个Button控件和一个OpenFileDialog 控件;Button控件命名为“btnOpen”,Text属性设置为“打开文件”。第7章 WinForms应用程序对话框设计 (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(openFileD
22、ialog1.FileName);MessageBox.Show(sr.ReadToEnd();sr.Close();2)使用 OpenFileDialog 组件以文件方式打开文件 使用 ShowDialog 方法显示对话框,并使用 OpenFile 方法打开文件。第7章 WinForms应用程序对话框设计 OpenFileDialog 组件的 OpenFile 方法返回构成文件的字节。这些字节为您提供了一个可从中读取的流。【例7-2】在下面的示例中,将实例化一个具有“cursor”筛选器的 OpenFileDialog 组件,使用户只能选择具有.cur 文件扩展名的文件。如果选择了一个.cu
23、r 文件,该窗体的光标将设置为选定的光标。(1)新建一个Windows应用程序,将其名称设置为Demo7-2。(2)将默认创建的窗体名称设置为frm7_2,将窗体的标题设置为“范例7-2”。(3)在主窗口中添加一个Button控件;该Button控件命名为“btnCursor”,Text属性设置为“设置窗体光标”。第7章 WinForms应用程序对话框设计 (4)在btnCursor控件的 Click事件中编写下列代码:private void btnCursor_Click(object sender,System.EventArgs e)/显示OpenFileDialog 组件,让用户选择
24、“光标”文件 OpenFileDialog openFileDialog1=new OpenFileDialog();openFileDialog1.Filter=Cursor Files|*.cur;openFileDialog1.Title=Select a Cursor File;/如用户选择了“光标”文件,则打开它 if(openFileDialog1.ShowDialog()=DialogResult.OK)/对窗体的Cursor属性设置为选定的光标 this.Cursor=new Cursor(openFileDialog1.OpenFile();第7章 WinForms应用程序对
25、话框设计7.2.2 保存文件对话框保存文件对话框 SaveFileDialog组件的用法类似于OpenFileDialog组件的用法,它们有很多相同的属性。我们下面讨论SaveFileDialog特有的属性和方法。1文件扩展名文件扩展名 文件扩展名用于把文件和应用程序关联起来。最好给文件添加一个扩展名,否则Windows就不知道打开该文件时应使用哪个应用程序,最终很可能用户也会忘记应使用何种应用程序来打开该文件。AddExtension属性是一个布尔属性,它指示如果用户省略扩展名,对话框是否自动在文件名中添加扩展名。如果用户已经输入了一个文件扩展名,就不会添加其他扩展名了。如果用户第7章 Wi
展开阅读全文