欢迎来到天天文库
浏览记录
ID:36886488
大小:410.81 KB
页数:44页
时间:2019-05-10
《Windows应用程序开发进阶——高级窗体控件(C#从入门到精通)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第8章Windows应用程序开发进阶——高级窗体控件菜单控件、工具栏控件和状态栏控件列表视图控件和树视图控件的使用字体、颜色对话框、文件对话框多文档界面编程第8章Windows应用程序开发进阶——高级窗体控件菜单控件、工具栏控件和状态栏控件列表视图控件和树视图控件的使用字体、颜色对话框、文件对话框多文档界面编程8.1菜单、工具栏控件和状态栏控件菜单、工具栏和状态栏是构成Windows应用程序的基本元素。VisualStudio2008的工具箱中引入了一系列后缀为strip的控件,即MenuStrip(菜单)、ToolStrip(工
2、具栏)和StatusStrip(状态栏),其中MenuStrip类似于普通软件的标准菜单,如word应用程序的文件编辑等菜单。ToolStrip是工具栏控件,可以产生带图像的小按钮,类似于word的工具栏,通常提供菜单项的简便操作。StatusStrip是状态栏控件,一般位于界面的下方,用于提示用户信息,类似于Windows操作系统中的状态栏。本节将详细介绍它们的用法。8.1.1菜单控件的使用MenuStrip控件是程序的主菜单。通常用来显示程序的各项功能,以方便用户选择执行。通过菜单,用户可以快速地进入需要的界面,因此,在开发W
3、indows应用程序时,菜单仍然是组织大量选项最常用的方法。使用MenuStrip控件设计下拉式菜单的步骤如下。⑴在Windows窗体中添加一个MenuStrip控件。⑵单击该控件的Items属性中的按钮,弹出“项集合编辑器”对话框。⑶“项集合编辑器”对话框中可以添加MenuItem子项。如果要为已经添加的子项添加子菜单,可以选择MenuItem子项,单击其DropDownItems属性后面的按钮,弹出“项集合编辑器”对话框(子项)。⑷在“项集合编辑器”(子项)对话框中可以给指定子项添加子菜单,一次类推,即可王城下拉式菜单的设计。
4、⑸为了更方便的使用菜单,可通过给菜单项设置快捷键来实现。设置快捷键的方式为:选中菜单项,在“属性”窗口中通过设置ShortcutKeys属性为菜单添加快捷键。除了在设计视图中创建和修改菜单、上下文菜单和菜单项的属性,还可以在运行时给菜单或上下文菜单添加菜单项。下面示例代码演示在程序中使用代码动态创建菜单的方法。01privatevoidCreateMenu()//自定义方法用来动态创建菜单02{03MenuStripmnu=newMenuStrip();//创建MenuStrip对象04ToolStripMenuItemmedit
5、=newToolStripMenuItem("编辑");//创建菜单对象05mnu.Items.Add(medit);//为菜单栏添加主菜单项06ToolStripMenuItemsubmcopy=newToolStripMenuItem("复制");//创建菜单对象07//为主菜单添加子菜单项08medit.DropDownItems.Add(submcopy);09this.Controls.Add(mnu);//添加菜单到窗体10}无论是在设计视图完成菜单设计,还是程序运行时动态添加菜单,都需要给菜单添加相应的功能,设计的菜
6、单才有意义。通常菜单的功能都是通过选择菜单实现的,在菜单项的Click事件中添加处理程序。双击菜单项即可定位到该菜单的Click事件代码块中,然后在其中编写具体实现代码。如果用户需要编写带历史信息的菜单,即实现保存最近打开文件,可以将在菜单中最近打开文件的文件名和路径保存到事先建立的*.ini文件中,系统启动时读取其中数据建立数组菜单,即可实现显示历史菜单的功能。8.1.2快捷菜单ContextMenuStrip控件是一个快捷菜单,其位置是由鼠标所在的位置决定的。弹出式菜单的结构与下拉式菜单基本相同,区别是该菜单不是固定在窗体上面
7、,而是通过单击鼠标右键来显示的。弹出式菜单的设计过程和下拉式菜单的设计过程基本类似,大家可参阅上节内容学习下拉式菜单的设计。下表列出了ContextMenuStrip类的常用成员及其说明。]下面代码演示了动态添加快捷菜单的方法。01privatevoidCreateContextMenu()//自定义方法用来动态创建快捷菜单02{03//创建快捷菜单对象04ContextMenuStripcmnu=newContextMenuStrip();05//设置快捷菜单的绘制样式06cmnu.RenderMode=ToolStripRen
8、derMode.System;07//在快捷菜单中添加菜单项08cmnu.Items.Add("复制");09cmnu.Items.Add("粘贴");10cmnu.Items.Add("剪切");11//给窗体添加快捷菜单12this.Conte
此文档下载收益归作者所有