C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计

上传人:E**** 文档编号:89423233 上传时间:2019-05-25 格式:PPT 页数:20 大小:274.50KB
返回 下载 相关 举报
C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计_第1页
第1页 / 共20页
C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计_第2页
第2页 / 共20页
C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计_第3页
第3页 / 共20页
C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计_第4页
第4页 / 共20页
C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计》由会员分享,可在线阅读,更多相关《C#编程语言基础和应用 教学课件 ppt 作者 张世明 朱彬 S05=界面设计(20页珍藏版)》请在金锄头文库上搜索。

1、中国铁道出版社,第5章 界面设计,内容要点,菜单设计 工具栏设计 状态栏设计,中国铁道出版社,5.1 菜单设计简介,5.1.1 菜单结构 一般菜单分为两级结构。窗口标题栏下显示的是菜单栏,菜单栏包含若干主菜单选项,单击每一个主菜单选项可打开一个下拉菜单,其中包含若干菜单命令。 5.1.2 菜单命令项的作用 菜单命令项被选中后,一般来说作用有如下三种: (1) 执行命令:用于执行某操作的菜单命令。 (2) 设置状态:用于设置或取消某设置的菜单命令。 (3) 打开对话框:用于激活对话框,具体操作在对话框中进行。 5.1.3 菜单设计器 1. MenuStrip设计器主菜单设计器,用于设计下拉式主菜

2、单。 2. ContextMenuStrip设计器快捷菜单设计器,用于设计弹出式快捷菜单。右击鼠标打开的就是快捷菜单。,中国铁道出版社,5.2 主菜单设计,5.2.1 添加主菜单设计器 设计主菜单的第一步是添加主菜单设计器。选中“Form1.cs设计”页,在工具箱中选择MenuStrip组件,把它添加到窗体上,此时窗体下的组件栏里将出现一个MenuStrip图标。系统则会自动为窗体添加一个停靠在标题栏下的菜单条,它同时也是主菜单设计器。 5.2.2 添加菜单命令项 首先添加菜单,单击主菜单设计器中的虚线框,会变成一空白项,然后直接输入菜单项,如果希望用自己习惯的Name属性值,那么再在“属性”

3、窗口中修改其Name属性值。 单击新添加的菜单下的空白菜单命令虚框,此时该虚框将加亮,表示获得输入焦点,即可继续添加菜单项或菜单命令项。 添加完了菜单命令项后,可以选取主菜单项右边的空白菜单虚框,开始添加第二个菜单项及其下的菜单命令项。,中国铁道出版社,5.2 主菜单设计,5.2.3 菜单命令项分组 如果一个菜单中的菜单命令过多,可以按功能将菜单命令分为若干组,组与组之间用分割线隔开。在C#中,可以直接在虚线框中输入“-”(减号),或者选择虚线框下拉列表中的“Separator”项,即添加了一分组菜单分割条。 5.2.4 菜单命令项热键 所谓热键,就是指在不打开菜单的情况下,直接使用预先设置的

4、组合键,执行某个菜单命令。 如果要给菜单命令设置热键,可以直接在“属性”窗口中单击该菜单命令项的ShortcutKeys属性值,打开一个“修饰符”对话框,从中选择所需的控制键,再在下拉列表中选择一字符键即可。,中国铁道出版社,5.2 主菜单设计,5.2.5 调整菜单命令项 创建完菜单后,经常会发生要在已有菜单、菜单命令之间插入新的菜单项或菜单命令项,剔除不需要的菜单项、菜单命令项,调整菜单项、菜单命令项的排列等情况。 5.2.6 创建级联菜单 级联菜单指的是菜单命令项包括的子菜单。一个菜单可以有多级级联菜单。 如果要为某菜单命令项创建级联菜单,可直接单击该菜单命令项,其右边会出现一虚线框,依次

5、再在该虚线框中直接添加菜单命令项。此时,该菜单命令就会出现一个右向三角形和一个级联菜单。向级联菜单的各菜单命令项设置Name属性和快捷键,就创建了一个级联菜单。,中国铁道出版社,5.2 主菜单设计,5.2.7 菜单命令响应 菜单中每一项菜单项和菜单命令项都可有自己的事件,用以响应各菜单命令。 5.2.8 图形菜单 在许多应用程序的菜单命令项前,通常都有菜单命令项图标,这些图标一般都与工具栏上快捷按钮的图标一致。同时,菜单命令项前的图标也使菜单命令的含义更加直接易懂。 在C#中,可以很容易地为菜单命令项添加图标,先单击菜单项的Image属性打开“选择资源”对话框,“导入”图标文件,单击“确定”按

6、钮,菜单项的图标就设置好了。,中国铁道出版社,5.3 运行时设置菜单,5.3.1 菜单命令灰显 当进行菜单操作时,有时要求某项菜单或菜单命令项不能被用户操作,就把该菜单或菜单命令项用灰色显示,用户对它操作不会有任何响应。 菜单命令项灰显可以通过设置菜单命令项的Enabled属性来实现。当该属性为True时,菜单命令项有响应;当该属性为False时,菜单命令项灰显,不响应鼠标和键盘操作。 5.3.2 隐藏菜单命令 菜单或菜单命令灰显是为了让用户不能对它操作,但是由于它的可见性,总会吸引用户的注意,所以有时需要将菜单或菜单命令项隐藏起来。这可利用菜单命令的Visible属性来实现。当该属性为Tru

7、e时,菜单命令可见;当该属性为False时,则该菜单命令被隐藏。,中国铁道出版社,5.3 运行时设置菜单,5.3.3 改变菜单命令文本 在运行程序时,可以让菜单命令项根据运行的情况来调整菜单命令的文本内容,这主要通过菜单命令的Text属性来实现。 5.3.4 菜单命令复选标记 复选标记是指当用户选中某个菜单命令时,系统会在该菜单命令前添加一个复选标记“”。复选标记常用于一些状态设置的菜单命令,如果取消选中,则“”标记消失。 设置复选标记很简单,只要把菜单命令的Checked属性设置为True,该菜单项就有复选标记,Checked属性为False时,没有复选标记。 较早的版本,菜单还能设置成单选

8、标记,所谓单选菜单命令,就是一组相互排斥的菜单命令,用户只能在该组命令中选择一个。Visual Studio 2005以后版本不再推荐使用。,中国铁道出版社,5.3 运行时设置菜单,5.3.5 创建动态菜单 用户可以在程序运行时动态地创建一个菜单。 主菜单对应于C#中的MenuStrip类,主菜单项(常简称为菜单)对应于C#中的ToolStripMenuItem类。通常主菜单栏中的各菜单构成一个列表,存储在主菜单(MenuStrip)的Items属性中。而每个菜单中的菜单命令数则存储在该菜单项(ToolStripMenuItem)的DropDownItems属性中。 这样,就可以利用MenuS

9、trip类的Items属性,通过Insert方法来实现往主菜单栏中添加一个菜单项;而从主菜单栏中删除一个菜单,同样是利用Items属性,不过是利用Remove方法。 在菜单项中添加或删除一个菜单命令项,则需利用ToolStripMenuItem类的DropDownItems属性,同样也是利用Insert或Remove方法。 动态添加菜单时,必须为每个菜单命令指定Click事件的响应方法(函数)名称。在此方法中,可以为多个菜单命令的Click事件指定同一个响应过程,而通过Sender参数确定具体执行哪一项命令项。,中国铁道出版社,5.4 快捷菜单设计,5.4.1 快捷菜单的设计 设计快捷菜单时,

10、先在工具箱中选取ContextMenuStrip组件,将其添加到窗体下的组件栏中,然后单击ContextMenuStrip组件,就可以打开菜单设计器。设计的过程与主菜单设计完全相同。 如果有多个快捷菜单,而且在不同的组件中打开,应该在要打开快捷菜单的组件的ContextMenuStrip属性中指定要打开的快捷菜单名称。 5.4.2 快捷菜单的响应 快捷菜单中菜单命令的响应,仍是通过给菜单命令项添加Click事件,通过事件响应来实现菜单命令的功能。这一点与主菜单完全相同。,中国铁道出版社,5.5 工具栏设计,5.5.1 添加工具栏 工具栏一般由多个按钮、标签、组合框等排列组成,通过这些项可以快速

11、地执行程序提供的一些常用命令,比使用菜单选择更加方便快捷。 选中“Form1.cs设计”页,从“工具箱”中“ToolStrip”项,拖放到窗体中,系统则会自动为窗体添加一停靠在菜单条下的工具栏。 5.5.2 添加工具栏成员 利用工具栏的添加新项的下拉式列表,可以为工具栏添加多种成员,包括多种按钮、标签、分隔条、下拉列表、文本框及进程条等。可以通过“属性”窗口中的“Image”属性或直接在按钮上按鼠标右键,在弹出的快捷菜单中选“设置图像(M).”菜单项,来修改(装入或创建)按钮图片。 利用“属性”窗口的“Text”属性或“ToolTipText”属性,为按钮添加鼠标滑过时的文本提示串,中国铁道出

12、版社,5.5 工具栏设计,5.5.3 添加事件响应 选中按钮,选择“属性”窗口的事件页,在“Click”属性中,利用该属性项右端的下拉式列表,选择对应菜单项的响应方法名,一般工具栏按钮的单击事件往往引用已有的菜单事件,不需要输入和创建新的消息响应方法。 5.5.4 动态设置成员属性 对于工具栏上的成员,有时候需要在运行时动态修改其属性,如:动态修改按钮的Image属性,使得按钮动态显示不同状态的图标;动态修改按钮的Checked属性,使得按钮反映当前的状态;还有一些成员的属性值直接用作输入、输出的参数供调用。,中国铁道出版社,5.5 工具栏设计,5.5.5 动态加载工具栏成员 除了可以动态地设

13、置成员的属性之外,可以在程序运行时动态地为工具栏加载成员,或者由用户在运行时,改变工具栏上成员的布局等。 工具栏对应于C#中的ToolStrip类,工具栏中不同类型的成员对应不同的类,分别有:ToolStripButton、ToolStripLabel、ToolStripSplitButton、ToolStripDropDownButton、ToolStripSeparator、ToolStripComboBox、ToolStripTextBox、ToolStripProgressBar。对应各不同类型的成员类。 若要加载某种成员,首先要建立该种成员类的一个实例,然后通过ToolStrip实例

14、的Insert方法来实现往工具栏中加载成员,同样,通过Remove方法也可以从工具栏中删除一个成员。 动态加载工具栏成员时,必须为每个成员指定Click事件的响应方法(函数)名称。方式与动态菜单中指定事件一样。,中国铁道出版社,5.6 状态栏设计,5.6.1 添加状态栏 在应用程序的窗口底部,常会有状态栏。状态栏通常用于显示当前的状态及一些提示信息,比如按钮或命令的功能或当前鼠标位置等。利用C#提供的状态栏(StatusStrip)组件可以很容易地为窗体添加状态栏,然后再为状态栏添加状态标签等成员,设计出理想的状态栏。 选中“Form1.cs设计”页,打开“工具箱”中“StatusStrip”

15、项,拖放到窗体中,系统则会自动为窗体添加一个停靠在窗口底部的状态栏。 5.6.2 添加状态标签 利用状态栏的添加新项的下拉式列表,可以为状态栏添加多种成员,包括状态标签(StatusLabel)、进度条(ProgressBar)、下拉式按钮(DropDownButton)和拆分按钮(SplitButton),其中的拆分按钮又含有若干成员,最常用的成员是状态栏标签(ToolStripStatusLabel类的对象)。它可以用于显示提示信息和各种状态数据,如当前鼠标位置等。,中国铁道出版社,5.6 状态栏设计,5.6.3 显示提示信息 为了显示菜单项和工具栏按钮等的提示信息,可以在状态栏上添加一个

16、状态标签。 状态标签常用属性: 状态标签主要通过Text属性设置提示信息,无论是静态设置还是动态设置该属性。 5.6.4 显示动态信息 状态栏更多的时候在于显示当前状态的动态信息,如:当前机器时间、当前鼠标位置、当前磁盘剩余空间等等。,中国铁道出版社,小结,掌握C#窗体的中主菜单、图形菜单和快捷菜单的设计和制作,掌握动态菜单的设置,包括动态增删菜单项、添加菜单命令事件,根据需要动态调整菜单灰显、隐藏、菜单项文本、菜单项复选标记等; 掌握C#窗体的工具栏设计,根据需要动态增删工具栏成员、增删事件; 掌握C#窗体的状态栏设计,能灵活应用状态栏进行文本提示,动态表述当前环境和状态; 熟练运用菜单、工具栏、状态栏的不同功能,学会设计良好的窗体界面,提供良好的交互方式。,中国铁道出版社,习题,(1) 菜单命令的作用是什么? (2) 如何在菜单中设计快捷键?如何在菜单中添加“分割条”? (3) 快捷键和热键的区别是什么? (4) 菜单的单选、复选、灰显、隐藏等是如何设计的? (5) 设计一个菜单,菜单及菜单项如表5-5所示。 表5-5 习题5的菜单,中国铁道出版社,习题,给

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

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

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