




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
高级窗体控件,菜单控件、工具栏控件和状态栏控件 列表视图控件和树视图控件的使用 字体、颜色对话框、文件对话框 多文档界面编程,第 8 章 Windows应用程序开发进阶高级窗体控件,菜单控件、工具栏控件和状态栏控件 列表视图控件和树视图控件的使用 字体、颜色对话框、文件对话框 多文档界面编程,8.1 菜单、工具栏控件和状态栏控件,菜单、工具栏和状态栏是构成Windows应用程序的基本元素。Visual Studio 2008的工具箱中引入了一系列后缀为strip的控件,即MenuStrip(菜单)、ToolStrip(工具栏)和StatusStrip(状态栏),其中MenuStrip类似于普通软件的标准菜单,如word应用程序的文件编辑等菜单。ToolStrip是工具栏控件,可以产生带图像的小按钮,类似于word的工具栏,通常提供菜单项的简便操作。StatusStrip是状态栏控件,一般位于界面的下方,用于提示用户信息,类似于Windows操作系统中的状态栏。本节将详细介绍它们的用法。,8.1.1 菜单控件的使用,MenuStrip控件是程序的主菜单。通常用来显示程序的各项功能,以方便用户选择执行。通过菜单,用户可以快速地进入需要的界面,因此,在开发Windows应用程序时,菜单仍然是组织大量选项最常用的方法。,使用MenuStrip控件设计下拉式菜单的步骤如下。, 在Windows窗体中添加一个MenuStrip控件。 单击该控件的Items属性中的按钮,弹出“项集合编辑器”对话框。 “项集合编辑器”对话框中可以添加MenuItem子项。如果要为已经添加的子项添加子菜单,可以选择MenuItem子项,单击其DropDownItems属性后面的按钮,弹出“项集合编辑器”对话框(子项)。 在“项集合编辑器”(子项)对话框中可以给指定子项添加子菜单,一次类推,即可王城下拉式菜单的设计。 为了更方便的使用菜单,可通过给菜单项设置快捷键来实现。设置快捷键的方式为:选中菜单项,在“属性”窗口中通过设置ShortcutKeys属性为菜单添加快捷键。,除了在设计视图中创建和修改菜单、上下文菜单和菜单项的属性,还可以在运行时给菜单或上下文菜单添加菜单项。 下面示例代码演示在程序中使用代码动态创建菜单的方法。 01 private void CreateMenu() /自定义方法用来动态创建菜单 02 03 MenuStrip mnu=new MenuStrip(); /创建MenuStrip对象 04 ToolStripMenuItem medit=new ToolStripMenuItem (“编辑“); /创建菜单对象 05 mnu.Items.Add (medit); /为菜单栏添加主菜单项 06 ToolStripMenuItem submcopy=new ToolStripMenuItem (“复制“);/创建菜单对象 07 /为主菜单添加子菜单项 08 medit.DropDownItems.Add(submcopy); 09 this.Controls.Add(mnu); /添加菜单到窗体 10 ,无论是在设计视图完成菜单设计,还是程序运行时动态添加菜单,都需要给菜单添加相应的功能,设计的菜单才有意义。通常菜单的功能都是通过选择菜单实现的,在菜单项的Click事件中添加处理程序。双击菜单项即可定位到该菜单的Click事件代码块中,然后在其中编写具体实现代码。 如果用户需要编写带历史信息的菜单,即实现保存最近打开文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的*.ini文件中,系统启动时读取其中数据建立数组菜单,即可实现显示历史菜单的功能。,8.1.2 快捷菜单,ContextMenuStrip控件是一个快捷菜单,其位置是由鼠标所在的位置决定的。弹出式菜单的结构与下拉式菜单基本相同,区别是该菜单不是固定在窗体上面,而是通过单击鼠标右键来显示的。弹出式菜单的设计过程和下拉式菜单的设计过程基本类似,大家可参阅上节内容学习下拉式菜单的设计。下表列出了ContextMenuStrip类的常用成员及其说明。,下面代码演示了动态添加快捷菜单的方法。,01 private void CreateContextMenu() /自定义方法用来动态创建快捷菜单 02 03 /创建快捷菜单对象 04 ContextMenuStrip cmnu = new ContextMenuStrip(); 05 /设置快捷菜单的绘制样式 06 cmnu.RenderMode = ToolStripRenderMode.System; 07 /在快捷菜单中添加菜单项 08 cmnu.Items.Add(“复制“); 09 cmnu.Items.Add(“粘贴“); 10 cmnu.Items.Add(“剪切“); 11 /给窗体添加快捷菜单 12 this.ContextMenuStrip = cmnu; 13 ,8.1.3 工具栏控件的使用,ToolStrip控件是工具栏控件,它为用户提供了应用程序中常用菜单命令的快速访问方式。工具栏通常位于菜单栏的下方,由许多命令按钮组成,每个按钮上都有一个代表该按钮功能的小图标。由于工具栏方便直观,所以它被广泛用于各种应用软件的主界面当中。ToolStrip控件的项支持8种不同的类型,还具备可扩展性并拥有高度可配置的属性。 带下拉菜单的工具栏在其他计算机语言中实现比较复杂,但在.NET中只需将工具栏按钮的类型设置为DropDownButton。 具有提示功能的工具栏的创建只需将相应按钮的ToolTipTile属性设置为提示内容。下表列出了ToolStrip类的常用成员及其说明。,【范例8-1】 ToolStrip工具条的制作,8.1.4 状态栏控件的使用,StatusStrip控件是状态栏控件,通常位于窗体的底部,它一般用来显示应用管理系统的系统信息和软件操作员信息,如当前日期、时间、操作员、软件版本等。StatusStrip控件的项可以由ToolStripStatusLable对象、ToolStripDropDownButton对象、ToolStripSplitButton对象和ToolStripProgressBar对象组成。下表列出了StatusStrip类的常用成员及其说明。,使用StatusStrip控件设计状态栏的步骤如下。, 在Windows窗体中添加一个StatusStrip控件。 单击该控件的Items属性中的按钮,弹出“项集合编辑器”对话框。 在“项集合编辑器“对话框中,用户可以根据需要选择添加StatusLabel控件、ProgressBar控件、DropDownButton控件和SplitButton控件,单击【确定】按钮,即可完成状态栏的设计。,第 8 章 Windows应用程序开发进阶高级窗体控件,菜单控件、工具栏控件和状态栏控件 列表视图和树视图控件的使用 字体、颜色对话框、文件对话框 多文档界面编程,8.2 列表视图和树视图控件,TreeView控件和ListView控件有很多相似的地方,它们都为用户提供便捷的文件导航功能。不同的是TreeView控件以树视图方式展示给用户,而ListView控件以列表形式展现给用户。,8.2.1 列表视图控件的使用,ListView控件可以显示带图标的项列表,用户可以使用该控件创建类似Windows资源管理器的用户界面。该控件具有四种视图模式:“LargeIcon”、“SmallIcon”、“List”和“Details”。 下表列出了ListView类的常用成员及其说明。 其中View属性用于获取或设置项在控件中的显示方式,默认值为LargeIcon。 FullRowSelect属性是指定只选择某一项,还是选择某一项所在的整行,取值为True,表示单击某项会选择该项及所有子项;取值为False,表示仅选择该项本身。,下面代码演示了如何使用FullRowSelect属性。 01 this.lvStudent.View = View.Details; 02 this.lvStudent.FullRowSelect = true;,【范例8-2】 ListView使用示例,8.2.2 树视图控件的使用,TreeView控件是一个树形控件。该控件可以为用户显示节点层次结构,每个节点又可以包含子节点,包含子节点的节点叫父节点。用户可以按展开或折叠的方式显示父节点或包含子节点的节点。另外,通过设置TreeView的CheckBoxes属性,还可以决定是否在节点旁显示复选框。 其中Nodes属性用于设置TreeView控件中的所有节点。属性值TreeNodeCollection表示分配给树视图控件的树节点。,【范例8-3】 TreeView控件使用示例,第 8 章 Windows应用程序开发进阶高级窗体控件,菜单控件、工具栏控件和状态栏控件 列表视图控件和树视图控件的使用 字体、颜色对话框、文件对话框 多文档界面编程,8.3 完成复杂功能的对话框-通用对话框控件,通用对话框是Mircrosoft Windows提供的一系列统一风格的对话框,其包括字体对话框、颜色对话框、文件对话框和打印对话框等。.NET Framework把这些对话框封装成组件,用户可以轻松地使用这些组件创建Windows应用程序。,8.3.1 字体对话框,FontDialog对话框是一个设置字体的组件,该组件允许用户选择当前安装在计算机中的字体,还可以设置字体的字形、大小、删除线等。如图所示。,下表列出了FontDialog类的主要成员以及说明。,下面对比较重要的成员进行介绍。, AllowVectorFonts属性 语法:object.AllowVectorFonts=boolean FixedPitchOnly属性 语法:object.FixedPitchOnly=boolean,下面将演示如何创建FontDialog组件的实例,并设置其属性,代码如下。,01 FontDialog FD = new FontDialog(); /创建字体对话框 02 FD.FontMustExist = true; /确定字体必须存在 03 FD.AllowVerticalFonts = true; /设置可以选择垂直显示的字体 04 FD.ShowEffects = true; /显示字体预览窗口 05 FD.ShowColor = true; /可以设置 06 FD.Color = this.richTextBox1.ForeColor; /设置默认字体颜色 07 FD.MaxSize = 100; /设置字体的最大值 08 FD.MinSize = 9; /设置字体的最小值 09 FD.Font = this.richTextBox1.Font; 10 if (FD.ShowDialog() = DialogResult.OK) 11 12 this.richTextBox1.Font = FD.Font; /获取用户选择的字体 13 this.richTextBox1.ForeColor = FD.Color; /获取用户选择的颜色 14 ,8.3.2 颜色对话框,ColorDialog控件用于选择颜色,它允许用户从调色板选择颜色或自定义颜色。如图所示。,下表列出了ColorDialog类常用成员及其说明。,下面对比较重要的成员进行介绍。, AllowFullOpen属性。 语法:object.AllowFullOpen=boolean Color属性。 语法:object.Color=Color FullOpen属性。 语法:object.FullOpen=boolean,下面将演示如何创建ColorDialog组件的实例,并设置其属性,代码如下。,01 ColorDialog cD = new ColorDialog(); /创建颜色对话框对象cD 02 cD.AllowFullOpen = true /用户是否可以使用该对话框定义自定义的颜色 03 cD.FullOpen = true; /创建自定义颜色的控件是否可见 04 cD.ShowHelp = true; /显示帮助按钮 05 cD.CustomColors = new int0,0,0,0,0,0; 06 if (cD.ShowDialog() = DialogResult.OK) /用户点击了“确定”按钮 07 08 rTB.SelectionColor = cD.Color; /获取用户选择的颜色 09 10 else 11 12 rTB.SelectionColor = Color.Black; 13 ,8.3.3 文件对话框,文件对话框包含打开文件对话框(OpenFileDialog)和保存文件对话框(SaveFileDialog)。打开文件对话框组件允许用户选择要打开的文件,指定组件的Filter属性可以过滤文件类型。如图所示。 保存文件对话框组件允许用户将文件保存到指定的位置。SaveFileDialog控件继承了OpenFileDialog控件的大多数属性、方法和事件。,下表列出了OpenFileDialog类的常用成员及其说明。,下面对比较重要的成员进行介绍。, Filter属性。获取或设置当前文件名筛选器字符串,该字符串决定对话框的“文件类型“或”另存为保存类型“框中出现的选择内容。 例如,使“对话框只能打开相关的图片文件(.bmp、.gif、.jpg)。代码如下。 OpenFileDialog1.Filter= “bmp文件(*.bmp)|*.bmp|gif文件(*.gif)|*.gif|jpg文件(*.jpg)|*.jpg“; RestoreDirectory属性。获取或设置一个值,该值指示对话框在关闭前是否还原当前目录。 ShowDialog方法。显示OpenFileDialog控件。 语法:object.ShowDialog(),下面将演示如何创建OpenFileDialog组件的实例,并设置其属性,代码如下。,01 OpenFileDialog Ofd = new OpenFileDialog(); /创建打开文件对话框对象 02 Ofd.Title = “打开播放文件对话框“; /设置对话框标题 03 Ofd.InitialDirectory = “C:“; /对话框初始目录 04 Ofd.Filter = “影视文件(*.rmvb)|*.rmvb|所有文件(*.*)|*.*“; /定义文件筛选器 05 Ofd.FilterIndex = 1; /在对话框中默认显示的文件筛选器索引 06 Ofd.ShowHelp = true; /打开文件对话框显示帮助按钮 07 Ofd.HelpRequest += new System.EventHandler(this.ShowOpenDialogHelp); 08 Ofd.ShowDialog();,保存文件对话框代码如下。 01 SaveFileDialog Sfd = new SaveFileDialog(); /创建保存文件对话框对象 02 Sfd.Title = “保存文件对话框“; /设置对话框标题 03 Sfd.InitialDirectory = “C:“; /对话框初始目录 04 Sfd.Filter = “Word文档(*.doc)|*.doc|所有文件(*.*)|*.*“; /定义文件筛选器 05 Sfd.FilterIndex = 1; /在对话框中默认显示的文件筛选器索引 06 Sfd.AddExtension = true; /自动在文件名中添加扩展名 07 Sfd.CreatePrompt = true; /提示用户是否创建指定文件名的文件 08 Sfd.OverwritePrompt = true; /提示用户是否覆盖指定文件名的文件 09 Sfd.CheckPathExists = true; 10 Sfd.ShowDialog();,8.3.4 打印对话框,PrintDialog控件用于显示预先配置的对话框,用户可以使用该对话框来选择打印机、选择要打印的页以及确定与打印有关的设置。,下面对比较重要的成员进行介绍。, Document属性。用于获取或设置一个值,指示用于获取PrintDocument对象。属性值默认值为空引用。 ShowDialog方法。用来显示与打印机相关设置的对话框。该方法常与Document属性一起使用。如果用户在对话框中单击“确定“,则返回值为DialogResult.OK,否则返回值为DialogResult.Cancel。,下面将演示如何创建PrintDialog组件的实例,并设置其属性,代码如下: 01 this.printDialog1.AllowCurrentPage = true; /显示当前页 02 this.printDialog1.AllowPrintToFile = true; /允许选择打印到文件 03 this.printDialog1.AllowSelection = true; 04 this.printDialog1.AllowSomePages = true; 05 this.printDialog1.PrintToFile = false; /不选择“打印到文件“ 06 this.printDialog1.ShowHelp = true;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025餐饮业员工劳动合同范本
- 2025年过敏休克试题及答案
- 2025年西宁生物中考试题及答案
- 2025年制造业简易劳动合同
- 2025科技有限公司股权转让合同示范文本
- 2025年铁道工程试题及答案
- 2025年中职电子试题及答案
- 工程物资防火防盗方案(3篇)
- 2025年小升初二外语试卷及答案
- 2025年二级乐理试卷及答案
- 2025店面劳动合同范本:超市收银员专项协议
- 《树之歌》课件 小学部编版语文二年级上册
- 《抗病育种》课件
- 罗湖区-空气质量状况及原因分析
- 2013版电力建设工程概预算定额宣贯讲义
- 汽车吊装t梁施工方案(终)
- 【七年级上】书法教案
- 《水循环》-完整版课件
- 轮胎印痕分析与运用课件
- 库房温湿度记录表
- 10KV电力安全工器具试验报告
评论
0/150
提交评论