可视化程序设计课件_第1页
可视化程序设计课件_第2页
可视化程序设计课件_第3页
可视化程序设计课件_第4页
可视化程序设计课件_第5页
已阅读5页,还剩211页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《软件技术》专业剖析报告

<可视化程序设计-C#>第4章菜单、工具栏、状态栏与对话框

《软件技术》专业剖析报告1

Windows风格的界面由菜单、工具栏、状态栏等组成,如学生档案管理系统的主界面。图4.1学生档案管理系统主菜单界面Windows风格的界面由菜单、工具栏、状态栏等组成21.教学内容(1)菜单设计:下拉菜单设计与弹出式菜单设计(2)工具栏设计(3)状态栏设计(4)对话框使用(5)单文档编辑器设计与MDI多窗体程序设计1.教学内容3图4.2单文档编辑器设计示例图4.2单文档编辑器设计示例42.教学方法(项目式教学法)(1)以单文档编辑器设计为教学案例介绍菜单、工具栏、状态栏与对话框的设计与使用方法。(2)以学生档案管理系统主界面设计为教学案例介绍MDI多窗体程序设计方法。

2.教学方法(项目式教学法)5【引例】设计一个简易文本编辑器的下拉式菜单,如图4.1所示,设计要求如表4.1所示。表4.1简易文本编辑器的下拉式菜单结构文件(&F)编辑(&E)视图(&V)新建Ctrl+N剪切Ctrl+X页面打开Ctrl+O复制Ctrl+C大纲保存Ctrl+S粘贴Ctrl+V文档结构--打印Ctrl+P工具常用预览Ctrl+V格式-表格退出Ctrl+E4.1菜单设计【引例】设计一个简易文本编辑器的下拉式菜单,如图4.1所示64.1菜单设计图4.3下拉式菜单的组成二级子菜单菜单项子菜单标题子菜单提示符主菜单项分隔条主菜单一级子菜单热键(Alt+V)快捷键(Ctrl+S)4.1菜单设计图4.3下拉式菜单的组成二级子菜单项子菜单7菜单分为下拉式菜单与弹出式菜单4.1.1下拉式菜单设计1.菜单组成

主菜单:主菜单项1、主菜单项2、…、主菜单项n下拉式菜单……一级子菜单菜单项:表示一条命令或子菜单标题二级子菜单快捷键(Ctrl+字母):直接执行的命令键子菜单三级子菜单分隔条(-):区分不同功能的菜单项组四级子菜单子菜单提示符:表示有下级子菜单五级子菜单热键:“&<字母>”用菜单控件menuStrip设计下拉式菜单。4.1菜单设计菜单分为下拉式菜单与弹出式菜单4.1菜单设计82.菜单控件menuStrip(1)作用:编辑制作下拉式菜单(2)添加菜单控件工具箱|菜单与工具栏|将menuStrip控件拖放到窗体内。(3)设置菜单位置(Dock属性)用Dock属性设置菜单6种位置:Top(顶部)、Bottom(底部)、Left(左边)、Right(右边)、Fill(填满)和None(不设置)。4.1.1下拉式菜单设计2.菜单控件menuStrip4.1.1下拉式菜单设计9(4)选择菜单类型在新添加菜单项前,应选择菜单项类型。单击“请在此处键入”右侧的下拉按钮,打开设置菜单项类型的下拉框,如图4.4所示。有三种类型:MenuItem(菜单项)ComboBox(下拉框)TextBox(文本框)选择MenuItem(菜单项)4.1.1下拉式菜单设计图4.4选择菜单项类型(4)选择菜单类型4.1.1下拉式菜单设计图4.410(5)输入菜单项文本(Text属性)单击“请在此处键入”框体,输入菜单项文本,如输入“文件”,如图4.5所示。也可用菜单项的Text属性输入菜单项文本。(6)输入分隔条单击“请在此处键入”下拉按钮,选择Separator,可输入分隔条。如图4.6所示。4.1.1下拉式菜单设计图4.5输入菜单项文本图4.6输入分隔条(5)输入菜单项文本(Text属性)4.1.1下拉式11(7)设置热键(Text属性)Text属性:菜单项文本&<字母>在菜单项的Text属性中输入:菜单项文本&<字母>,可设置热键。如在“文件”菜单项的Text属性中输入“文件(&F)”,则设置“文件”菜单项热键为F。程序执行时按Alt+F组合键可执行“文件”主菜单项命令。4.1.1下拉式菜单设计(7)设置热键(Text属性)4.1.1下拉式菜单设计12(8)设置快捷键(ShortcutKeys属性)用ShortcutKeys属性可设置子菜单的快捷键。方法如下:单击子菜单(如“新建”),在属性对话框中单击ShortcutKeys下拉按钮,选择Ctrl+N为快捷键,如图4.7所示,则Ctrl+N成为“新建”子菜单的快捷键,当按Ctrl+N组合键时,系统将执行“新建”子菜单命令。4.1.1下拉式菜单设计图4.7设置快捷键(8)设置快捷键(ShortcutKeys属性)4.1.113(9)设置菜单项名称Name先选择菜单项,然后在属性对话框中设置Name属性。如设置文件菜单项的Name:menu_File(10)设置菜单事件双击子菜单项(如,新建),添加菜单的Click(单击)事件,如下所示。privatevoidmenu_New_Click(objectsender,EventArgse){MessageBox.Show("新建文件!");}当用户点击“新建”菜单时将弹出“新建文件!”对话框。4.1.1下拉式菜单设计(9)设置菜单项名称Name4.1.1下拉式菜单设计14(11)删除菜单项右击菜单项|删除,可删除菜单项。(12)插入菜单项右击菜单项|插入,可插入新的菜单项。(13)设置菜单项图标右击菜单项|设置图像|本地资源|导入|选择图片文件,可设置菜单项图标。4.1.1下拉式菜单设计(11)删除菜单项4.1.1下拉式菜单设计15(14)设置菜单项有效(Enabled)属性Enabled=true菜单项有效,Enabled=false菜单项无效(15)设置菜单项复选框(Checked)属性Checked=true菜单项的复选框被选中,则该菜单项左边加上检查标记“√”,表示该菜单项是一个被选项。4.1.1下拉式菜单设计(14)设置菜单项有效(Enabled)属性4.1.1下拉16(16)项集合编辑器①作用:添加、修改和删除菜单项。②启动:单击菜单控件Items属性右边省略按钮。

③项集合编辑器界面(如图4.8所示)左侧上方下拉列表框可选择要添加菜单项的类型,左侧下方是已经添加的菜单项列表,右侧是选中菜单项的属性列表。4.1.1下拉式菜单设计(16)项集合编辑器4.1.1下拉式菜单设计17图4.8项集合编辑器界面图4.8项集合编辑器界面184.1.1下拉式菜单设计④添加新菜单项单击“添加”按钮可以添加新菜单项。⑤删除菜单项单击删除按钮可删除当前菜单项⑥调整菜单项的位置选中菜单项后,单击列表右侧的上下箭头按钮,可调整菜单项之间的位置。4.1.1下拉式菜单设计④添加新菜单项194.1.1下拉式菜单设计⑦修改菜单项属性在右侧属性列表中可修改菜单项的属性。如修改Name、Text、ShortcutKeys等属性。单击菜单项的DropDownItems属性右边的省略按钮,将显示其对应下一级子菜单项的成员。如,单击“Menu_File”菜单项(文件)的DropDownItems属性右边的省略按钮,将显示文件菜单对应下一级子菜单项的成员。如图4.9所示。此时可编辑文件子菜项的属性。4.1.1下拉式菜单设计⑦修改菜单项属性20图4.9文件菜单的子菜单成员图4.9文件菜单的子菜单成员21【例4.1】设计一个简易文本编辑器的下拉式菜单,如图4.1所示,设计要求如表4.1所示。文件(&F)(File)编辑(&E)(Edit)视图(&V)(View)新建(New)Ctrl+N剪切(Cut)Ctrl+X页面(Page)打开(Open)Ctrl+O复制(Copy)Ctrl+C大纲(Outline)保存(Save)Ctrl+S粘贴(Paste)Ctrl+V文档(Word)--打印(Print)Ctrl+P工具(Tools)常用(use)预览(Review)Ctrl+R格式(Format)-表格(Table)退出(Exit)Ctrl+E4.1.1下拉式菜单设计【例4.1】设计一个简易文本编辑器的下拉式菜单,如图4.122(1)新建解决方案ex4_1.sln存放在d:\C#\ex4_1目录中。(2)新建项目ex4_1与窗体新建一个项目ex4_1,设置窗体属性Text:下拉式菜单设计示例Name:frm_Menu(3)添加菜单控件工具箱|菜单与工具栏|将menuStrip添加到窗体中。4.1.1下拉式菜单设计(1)新建解决方案ex4_1.sln4.1.1下拉式菜单设23(4)使用menuStrip控件建立菜单①创建主菜单项Text:输入“文件(&F)”(F键成为热键)Name:Menu_File②创建子菜单项Text:新建Name:Menu_NewShortcutKeys:选择Ctrl+N4.1.1下拉式菜单设计(4)使用menuStrip控件建立菜单4.1.1下拉式菜244.1.1下拉式菜单设计用同样方法建立编辑与视图菜单项及其子菜单。注意:菜单项的Name=Menu+菜单英文名。(5)建立菜单项事件过程为了使读者能感受到菜单项命令的执行效果,对“新建”、“打开”、“保存”与“退出”4个菜单项编写事件过程。4.1.1下拉式菜单设计用同样方法建立编辑与视图菜单项及其25①编写“新建”菜单项的事件过程在窗体设计器中,双击“新建”菜单项,进入代码编辑器,输入如下代码:privatevoidMenu_New_Click(objectsender,EventArgse){MessageBox.Show("新建文件!");}4.1.1下拉式菜单设计①编写“新建”菜单项的事件过程4.1.1下拉式菜单设计26②编写“打开”菜单项的事件过程privatevoidMenu_Open_Click(objectsender,EventArgse){MessageBox.Show("打开文件!");}③编写“保存”菜单项的事件过程privatevoidMenu_Save_Click(objectsender,EventArgse){MessageBox.Show("保存文件!");}4.1.1下拉式菜单设计②编写“打开”菜单项的事件过程4.1.1下拉式菜单设计27④编写“退出”菜单项的事件过程

privatevoidMenu_Exit_Click(objectsender,EventArgse){this.Close();}4.1.1下拉式菜单设计④编写“退出”菜单项的事件过程4.1.1下拉式菜单设计28(7)编译和运行程序执行菜单命令:调试|启动调试或按F5或按启动快速按钮,即可启动执行菜单程序。用鼠标单击菜单项,屏幕上将显示对应输出信息。用热键Alt+F,可启动文件一级子菜单,用快捷键Ctrl+O可执行“打开”菜单项命令,屏幕显示“打开文件”信息,用快捷键Ctrl+E可执行“退出”菜单项命令,系统将关闭程序。4.1.1下拉式菜单设计(7)编译和运行程序4.1.1下拉式菜单设计294.1.2弹出式菜单设计(ContextMenuStrip控件)在Windows程序设计中广泛采用弹出式菜单,如在Word菜单或工具栏区单击鼠标右键,出现有关菜单栏、工具栏等弹出式选择菜单。在文本编辑区单击鼠标右键会出现有关文本编辑方面的弹出式菜单。在C#开发环境中,用ContextMenuStrip控件设计弹出式菜单。4.1.2弹出式菜单设计4.1.2弹出式菜单设计(ContextMenuStrip301.作用:设计弹出式菜单2.位置:工具箱|菜单和工具栏3.选择菜单类型MenuItem(菜单项)ComboBox(下拉框)TextBox(文本框)选择MenuItem(菜单项)4.1.2弹出式菜单设计1.作用:设计弹出式菜单4.1.2弹出式菜单设计314.输入菜单项文本(Text属性)单击“请在此处键入”框体,输入菜单项文本,如输入“剪切”,也可用菜单项的Text属性输入菜单项文本。5、选择关联控件编辑控件(如richTextBox)均有ContextMenuStrip属性,在ContextMenuStrip属性栏中选择ContextMenuStrip控件,则右击编辑控件时,会出现ContextMenuStrip控件制作的弹出式菜单。4.1.2弹出式菜单设计4.输入菜单项文本(Text属性)4.1.2弹出式菜单32【例4.2】设计一个带有下拉式菜单、弹出式菜单的文本编辑器,其工作界面如图4.10所示。设计要求如下。在例4.1的窗体中添加一个RichTextBox控件作为图文编辑器,用弹出式菜单实现文本编辑器的“复制、剪切、粘贴、清除”功能,程序设计过程如下。图4.3弹出式菜单示例4.1.2弹出式菜单设计图4.10弹出式菜单示例【例4.2】设计一个带有下拉式菜单、弹出式菜单的文本编辑器,33(1)新建解决方案ex4_2.sln。(2)设置窗体属性Name:frm_ContextMenu。Text:“下拉式菜单与弹出式菜单设计示例”。(3)将解决方案ex4_1.sln中的下拉菜单控件menuStrip1复制到frm_ContextMenu窗体中。(4)将ex4_1.sln中的所有事件处理程序复制到frm_ContextMenu窗体中。4.1.2弹出式菜单设计(1)新建解决方案ex4_2.sln。4.1.2弹出式菜34(5)在窗体中添加ContextMenuStrip1控件在弹出式菜单中添加四个子菜单项:Text:剪切、复制、粘贴、清除。Name:cm_Cut、cm_Copy、cm_Paste、cm_Clear(6)添加RichTextBox控件工具箱|公共控件|将RichTextBox添加到窗体。设置属性Name:rtxt_Text。ContextMenuStrip:ContextMenuStrip1

RichTextBox是一种图文编辑控件,具有类似于Word的文字编辑功能。4.1.2弹出式菜单设计(5)在窗体中添加ContextMenuStrip1控件4.35(7)编写剪切事件处理过程privatevoidCut()//将剪切内容存入剪切板中,清除剪切内容{Clipboard.SetDataObject(rtxt_Text.SelectedText);rtxt_Text.SelectedText=String.Empty;}privatevoidcm_Cut_Click(objectsender,EventArgse){Cut();//单击弹出式菜单的剪切子菜单时调用Cut函数

}

privatevoidMenu_Cut_Click(objectsender,EventArgse){Cut();//单击下拉菜单的剪切子菜单时调用Cut函数}4.1.2弹出式菜单设计(7)编写剪切事件处理过程4.1.2弹出式菜单设计36(8)编写复制事件处理过程

privatevoidCopy(){//将选择的文本置于系统剪贴板中Clipboard.SetDataObject(rtxt_Text.SelectedText);

}privatevoidcm_Copy_Click(objectsender,EventArgse){Copy();//单击弹出式菜单的复制子菜单时调用Copy函数

}privatevoidMenu_Copy_Click(objectsender,EventArgse){Copy();//单击下拉菜单的复制子菜单时调用Copy函数}4.1.2弹出式菜单设计(8)编写复制事件处理过程4.1.2弹出式菜单设计37(9)编写粘贴事件处理过程

privatevoidPaste()//将剪切板中内容粘贴到编辑框中{IDataObjectiData=Clipboard.GetDataObject();if(iData.GetDataPresent(DataFormats.Text)){rtxt_Text.SelectedText= (String)iData.GetData(DataFormats.Text);}}

privatevoidcm_Paste_Click(objectsender,EventArgse){Paste();//单击弹出式菜单的粘贴子菜单时调用Paste函数}privatevoidMenu_Paste_Click(objectsender,EventArgse){Paste();//单击下拉菜单的粘贴子菜单时调用Paste函数}4.1.2弹出式菜单设计(9)编写粘贴事件处理过程4.1.2弹出式菜单设计38(10)编写清除事件处理过程

privatevoidcm_Clear_Click(objectsender,EventArgse){rtxt_Text.Text=String.Empty;//清除图文编辑框内}4.1.2弹出式菜单设计(10)编写清除事件处理过程4.1.2弹出式菜单设计39(11)运行程序运行程序后,用鼠标右击RichTextBox1控件,则出现弹出式菜单,可进行文本的剪切、复制、粘贴与清除操作。也可用下拉式菜单中的剪切、复制、粘贴子菜单实现上述操作。4.1.2弹出式菜单设计(11)运行程序4.1.2弹出式菜单设计40C#使用ToolStrip控件设计工具栏,下面介绍ToolStrip控件的作用、位置、属性与使用方法。1.作用用于设计工具栏。2.添加工具栏工具箱|菜单与工具栏|ToolStrip控件。3.工具栏位置(Dock属性)用Dock属性:Top、Left、Right、Bottom、None可设置工具栏在窗体中的位置。4.2工具栏设计C#使用ToolStrip控件设计工具栏,下面介绍ToolS414.添加按钮(1)按钮类型:有8种按钮类型,如图4.11所示。Button(工具栏按钮)Label(工具栏标签)SplitButton(分割按钮)DropDownButton(工具栏菜单按钮)Separator(工具栏分割线)ComboBox(工具栏下拉框)TextBox(工具栏文本框)ProgressBar(工具栏进度条)4.2工具栏设计4.添加按钮4.2工具栏设计42图4.11工具栏的8种按钮4.2工具栏设计图4.11工具栏的8种按钮4.2工具栏设计43(2)添加按钮单击ToolStrip控件的下拉按钮(如图4.11),出现选择8种按钮类型菜单,从中选择所需按钮类型,如单击Button则工具栏中新增一个工具栏按钮,单击ComboBox则新增一个下拉组合框按钮。5.删除按钮右击按钮|选择删除4.2工具栏设计(2)添加按钮4.2工具栏设计446.按钮属性(1)Name(tbtn)):按钮名称(2)Text:按钮文本(3)Image:按钮图标(4)DisplayStype:共有4种显示类型None:不显示Text:显示按钮文本Image:显示按钮图标ImageandText:显示按钮文本与图标4.2工具栏设计6.按钮属性4.2工具栏设计45【例4.3】设计一个带有下拉式菜单、弹出式菜单与工具栏的文本编辑器,其工作界面如图4.8所示。设计要求如下:在例4.2的工程中增加工具栏,放置三个普通按钮,分别用于RichTextBox控件中被选文本的复制、剪切、粘贴功能。在工具栏上放置二个组合框ComboBox,为RichTextBox控件中文本选择字体与字号,如图4.12所示。程序设计步骤如下。4.2工具栏设计【例4.3】设计一个带有下拉式菜单、弹出式菜单与工具栏的文本46图4.12菜单与工具栏设计示例4.2工具栏设计图4.12菜单与工具栏设计示例4.2工具栏设计47(1)新建解决方案ex4_3.sln(2)设置窗体属性Name:frm_ToolStrip。Text:“菜单与工具栏设计示例”。(3)将ex4_2中的menuStrip1、ContextMenuStrip1、rtxt_Text控件复制到frm_ToolStrip窗体中。(4)将ex4_2中的所有事件处理程序复制到frm_ToolStrip窗体中。4.2工具栏设计(1)新建解决方案ex4_3.sln4.2工具栏设计48(5)添加工具栏控件ToolStrip工具箱|公共控件|将ToolStrip添加到窗体(6)工具栏中添加按钮在ToolStrip控件中添加三个普通按钮,设置属性:Name:tbtn_Cuttbtn_Copytbtn_PasteText:剪切复制粘贴Image:Cut.bmpCopy.bmpPaste.bmpDisplayStype:ImageandText:4.2工具栏设计(5)添加工具栏控件ToolStrip4.2工具栏设计49(7)编写单击工具栏按钮事件过程

privatevoidtbtn_Cut_Click(objectsender,EventArgse){Cut();}privatevoidtbtn_Copy_Click(objectsender,EventArgse){Copy();}privatevoidtbtn_Paste_Click(objectsender,EventArgse){Paste();}4.2工具栏设计(7)编写单击工具栏按钮事件过程4.2工具栏设计50(8)工具栏中添加两个存放字体与字号的ComboBox组合框Name:tcbo_Font:存放字体tcbo_Size:存放字号。tcbo_Font.Items:宋体黑体楷体tcbo_Size.Items:10,14,20,30,40,50,604.2工具栏设计(8)工具栏中添加两个存放字体与字号的ComboBox组合框51(9)编写单击tcbo_Font组合列表框事件过程

privatevoidSetFont(){if(rtxt_Text.Text.Length!=0){rtxt_Text.SelectionFont=newFont(tcbo_Font.Text,rtxt_Text.SelectionFont.Size);}}privatevoidtcbo_Font_SelectedIndexChanged(objectsender,EventArgse){SetFont();}4.2工具栏设计(9)编写单击tcbo_Font组合列表框事件过程4.2工52(10)编写单击tcbo_Size组合框列表事件过程

privatevoidSetSize(){if(rtxt_Text.Text.Length!=0){intdSize=0;dSize=Convert.ToInt32(tcbo_Size.Text);rtxt_Text.SelectionFont=newFont(rtxt_Text.Font.Name,dSize);}}

privatevoidtcbo_Size_SelectedIndexChanged(objectsender,EventArgse){SetSize();}4.2工具栏设计(10)编写单击tcbo_Size组合框列表事件过程4.53(11)程序运行当程序运行后,先在rtxt_Text文本编辑框中输入“中华人民共和国”,选中“中华人民共和国”,用鼠标单击tcbo_Font的下拉按钮选择“黑体”,单击tcbo_Size的下拉按钮选择40号字体,再单击“复制”按钮,打回车使光标移到下一行,再单击“粘贴”按钮,则40号楷体的“中华人民共和国”被复制到下一行,如图4.12所示。作业:(1)在自己笔记本电脑上完成例4-1、例4-2、例4-3设计任务。(2)习题四4.5,4.10

4.2工具栏设计(11)程序运行4.2工具栏设计544.3状态栏设计状态栏是Windows风格程序界面的组成部分,用于Windows窗体下方状态信息的显示。如:光标位置、日期、时间等状态信息。状态栏是用状态栏控件StatusStrip控件设计的,下面介绍StatusStrip控件的作用、属性与应用举例。4.3状态栏设计状态栏是Windows风格程序界面的组成551.作用StatusStrip控件用于设计状态栏。状态栏由一组窗格组成,用于显示当前工作状态。2.添加状态栏工具箱|菜单与工具栏|StatusStrip控件。3.状态栏位置(Dock属性)用Dock属性:Top、Left、Right、Bottom、None可设置工具栏在窗体中的位置。4.3状态栏设计1.作用4.3状态栏设计564.添加窗格(1)窗格类型有4种窗格类型(如图4.13所示):StatusLabel:状态栏标签ProgressBar:状态栏进度条DropDownButton:状态栏菜单按钮SplitButton:状态栏分隔按钮4.3状态栏设计4.添加窗格4.3状态栏设计57(2)添加窗格单击StatusStrip控件的下拉按钮(如图4.13),出现选择4种窗格类型菜单,从中选择所需窗格类型,如单击StatusLabel则状态栏中新增一个标签窗格,单击SplitButton则新增一个状态栏分隔按钮。5.删除窗格右击窗格|选择删除4.3状态栏设计(2)添加窗格4.3状态栏设计586.窗格属性(1)Name(slbl):窗格名称(2)Text:窗格文本(3)Image:窗格图标(4)DisplayStype:共有4种显示类型None:不显示Text:显示窗格文本Image:显示窗格图标ImageandText:显示窗格文本与图标4.3状态栏设计6.窗格属性4.3状态栏设计59图4.13状态栏的4各种窗格类型4.3状态栏设计图4.13状态栏的4各种窗格类型4.3状态栏设计60【例4.4】设计一个带有下拉式菜单、弹出式菜单、工具栏与状态栏的文本编辑器,其工作界面如图4.13所示。设计要求如下:在例4.3的工程中添加状态栏控件StatusStrip,状态栏共有2个标签,分别显示当前光标的坐标位置(x、y)、日期与时间,如图4.14所示。4.3状态栏设计【例4.4】设计一个带有下拉式菜单、弹出式菜单、工具栏与状态61图4.14菜单、工具栏与状态栏设计示例4.3状态栏设计图4.14菜单、工具栏与状态栏设计示例4.3状态栏设计62(1)打开解决方案ex4_1.sln,新建项目ex4_4,将ex4_4设置为起动项目。(2)设置窗体属性Name:frm_Status。Text:“菜单、工具栏与状态栏设计示例”。(3)将项目ex4_3中的menuStrip1、ContextMenuStrip1、ToolStrip1、rtxtText控件复制到frm_Status窗体中。(4)将项目ex4_3中的所有事件处理程序复制到frm_Status窗体中。4.3状态栏设计(1)打开解决方案ex4_1.sln,新建项目ex4_4,将63(5)添加状态栏控件StatusStrip工具箱|公共控件|将StatusStrip添加到窗体(6)状态栏中添加标签在StatusStrip控件中添加2个标签,设置属性:Name:slbl_XYslbl_DateText:X:0,Y:0日期:时间:4.3状态栏设计(5)添加状态栏控件StatusStrip4.3状态栏设64(7)窗体上添加时间控件Timer(在组件栏中)①将Timer控件放置在窗体中。②设置Interval属性为1000,即每隔1000ms=1s触发一次的Timer事件过程。Enabled=True。③Timer事件过程代码privatevoidtimer1_Tick(objectsender,EventArgse){slbl_Date.Text="日期:时间:"+Convert.ToString(DateTime.Now);}④说明:在过程中将系统日期Now赋给状态栏的第2个标签,即每隔1秒钟刷新一次日期与时间。4.3状态栏设计(7)窗体上添加时间控件Timer(在组件栏中)4.3状65(8)编写事件过程代码①显示当前光标位置(x,y)privatevoidrtxt_Text_MouseMove(objectsender,MouseEventArgse){slbl_XY.Text="X:"+Convert.ToString(e.X)+"Y:"+Convert.ToString(e.Y);}4.3状态栏设计(8)编写事件过程代码4.3状态栏设计66(9)运行程序在文本编辑器上移动鼠标,状态栏第1窗格显示光标x,y坐标。第2个窗格中显示当前日期与时间,每隔1秒种更新一次。4.3状态栏设计(9)运行程序4.3状态栏设计67在C#应用程序中对话框用于与用户交互,C#.NET中工具箱中提供5种类型的对话框控件,如图4.15所示。OpenFileDialog控件:打开文件对话框SaveFileDialog控件:保存文件对话框PrintDialog控件:打印文件对话框ColorDialog:颜色对话框FontDialog:字体对话框其中:PrintDialog在打印类中。4.4对话框设计图4.15对话框控件在C#应用程序中对话框用于与用户交互,C#.NET中工具箱684.4对话框设计1.OpenFileDialog控件(1)作用:打开文件(2)位置:工具箱|对话框|OpenFileDialog(3)属性①FileName属性:用于设置或返回文件名。②Filter属性:用于文件过滤器,格式为:描述1|过滤器1|描述2|过滤器2…。例如:所有文件(*.*)|*.*|RTF格式(*.RTF)|*.rtf|文本文件(*.txt)|*.txt打开文件的文件过滤器效果如图4.11下部的文件类型所示。4.4对话框设计1.OpenFileDialog控件69③FilterIndex属性:用于指定默认的文件过滤器。例如:FilterIndex=2;表示指定默认文件过滤器为*.rtf。(4)方法ShowDialog():用于显示打开文件对话框,当返回OK值时表示打开文件对话框成功。例如:

if(openFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.LoadFile(openFileDialog1.FileName);}4.4对话框设计③FilterIndex属性:用于指定默认的文件过滤器。4704.4对话框设计2.SaveFileDialog控件(1)作用:保存文件(2)位置:工具箱|对话框|SaveFileDialog(3)属性:与OpenFileDialog相同。(4)方法:ShowDialog():用于显示保存文件对话框,当返回OK值时表示打开保存文件对话框成功。例如:

if(saveFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SaveFile(saveFileDialog1.FileName);}4.4对话框设计2.SaveFileDialog控件714.4对话框设计3.PrintDialog控件(1)作用:打印文件(2)位置:工具箱|打印|PrinteDialog(3)属性:与OpenFileDialog相同。(4)方法:ShowDialog():用于显示打印文件对话框,当返回OK值时表示打开打印文件对话框成功。例如:

if(printDialog1.ShowDialog()==DialogResult.OK){…}

4.4对话框设计3.PrintDialog控件724.4对话框设计4.FontDialog控件(1)作用:设置字体(2)位置:工具箱|对话框|FontDialog(3)属性:与OpenFileDialog相同。(4)方法:ShowDialog():用于显示设置字体对话框,当返回OK值时表示打开设置字体对话框成功。例如:if(fontDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionFont=fontDialog1.Font;}4.4对话框设计4.FontDialog控件734.4对话框设计5.ColorDialog控件(1)作用:设置颜色(2)位置:工具箱|对话框|ColorDialog(3)属性:与OpenFileDialog相同。(4)方法:ShowDialog():用于显示设置颜色对话框,当返回OK值时表示打开设置颜色对话框成功。例如:

if(colorDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionColor=colorDialog1.Color;}4.4对话框设计5.ColorDialog控件74【例4.5】设计带有下拉式菜单、弹出式菜单、工具栏与状态栏的单文档编辑器,设计要求如下:(1)在下拉式菜单的“打开”、“保存”、“打印”、“颜色”与“字体”5个菜单项单击事件中,用“打开”、“保存”、“打印”、“颜色”与“字体”对话框,完成文件的打开、保存、打印工作,完成RichTexBox控件中被选文本的颜色与字体的设置工作。4.4对话框设计【例4.5】设计带有下拉式菜单、弹出式菜单、工具栏与状态栏的75(2)在窗体中添加一个工具栏,在此工具栏中添加5个按钮,分别用于文件的打开(Open)、保存(Save)、打印(Print)、颜色(Color)、字体(Font)的操作。(3)在状态栏中显示打开文件的信息,如图4.16所示。4.4对话框设计(2)在窗体中添加一个工具栏,在此工具栏中添加5个按钮,分别76图4.16单文档编辑器设计示例图4.16单文档编辑器设计示例77(1)打开解决方案ex4_1.sln,新建项目ex4_5,将ex4_5设置为起动项目。(2)设置窗体属性Name:frm_RichTextBox。Text:“单文档编辑器设计示例”。(3)将项目ex4_4中的所有控件复制到frm_RichTextBox窗体中。(4)将项目ex4_4中的所有事件处理程序复制到frm_RichTextBox窗体中。4.4对话框设计(1)打开解决方案ex4_1.sln,新建项目ex4_5,将784.4对话框设计(5)状态栏中添加一个标签在StatusStrip控件中添加1个标签,设置属性:Name:tlbl_FileText:“文件:”(6)添加工具栏ToolStrip2在工具栏中添加5个按钮,设置属性如下:Name:tbtn_Opentbtn_Savetbtn_Printtbtn_Colortbtn_FontText:打开保存打印机颜色字体Image:Open.bmpSave.bmpPrint.bmpColor.bmpFont.bmp4.4对话框设计(5)状态栏中添加一个标签79(7)在下拉菜单的“编辑”主菜单中增加“颜色”与“字体”两个子菜单。Name:Menu_ColorMenu_FontText:颜色字体(8)添加打开、保存、打印、颜色、字体5个对话框控件:添加openFileDialog1控件,设置属性如下:4.4对话框设计(7)在下拉菜单的“编辑”主菜单中增加“颜色”与“字体”两个80Filter:所有文件(*.*)|*.*|RTF格式(*.RTF)|*.rtf|文本文件(*.txt)|*.txtFilterIndex:2用同样方法添加saveFileDialog1、printDialog1、fontDialog1、colorDialog1四个控件,并设置属性。4.4对话框设计Filter:所有文件(*.*)|*.*|RTF格式(*.81(9)编写“打开”按钮事件处理过程privatevoidtbtn_Open_Click(objectsender,EventArgse){if(openFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.LoadFile(openFileDialog1.FileName);slbl_File.Text=Convert.ToString(openFileDialog1.FileName);}}4.4对话框设计(9)编写“打开”按钮事件处理过程4.4对话框设计82(10)编写“保存”按钮事件处理过程privatevoidtbtn_Save_Click(objectsender,EventArgse){if(saveFileDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SaveFile(saveFileDialog1.FileName);slbl_File.Text=Convert.ToString(saveFileDialog1.FileName);}}4.4对话框设计(10)编写“保存”按钮事件处理过程4.4对话框设计83(11)编写“打印”按钮事件处理过程privatevoidtbtn_Print_Click(objectsender,EventArgse){if(printDialog1.ShowDialog()==DialogResult.OK){slbl_File.Text=Convert.ToString(printDialog1.PrintToFile);}}4.4对话框设计(11)编写“打印”按钮事件处理过程4.4对话框设计84(12)编写“颜色”按钮事件处理过程privatevoidtbtn_Color_Click(objectsender,EventArgse){if(colorDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionColor=colorDialog1.Color;}}4.4对话框设计(12)编写“颜色”按钮事件处理过程4.4对话框设计85(13)编写“字体”按钮事件处理过程privatevoidtbtn_Font_Click(objectsender,EventArgse){if(fontDialog1.ShowDialog()==DialogResult.OK){rtxt_Text.SelectionFont=fontDialog1.Font;}}4.4对话框设计(13)编写“字体”按钮事件处理过程4.4对话框设计86(14)设置打开、保存、打印、颜色、字体子菜单事件处理过程先在菜单控件中选择“打开”子菜单,然后在事件对话框中单击Click事件右边的下拉按钮,从下拉列表中选择“打开”按钮事件处理过程tbtn_Open_Click,则当程序执行后,单击打开子菜单项时,会调用“打开”按钮事件处理过程tbtn_Open_Click过程。如图4.17所示。用类似方法设置保存、打印、颜色、字体子菜单事件处理过程。

4.4对话框设计(14)设置打开、保存、打印、颜色、字体子菜单事件处理过程487图4.17选择打开按钮事件处理过程图4.17选择打开按钮事件处理过程88(1)状态栏设计(StatusBar控件)用StatusBar属性页可添加窗格,设置窗格的显示样式与内容。用Panels(i)的子属性Text、Key、MinWidth、Alignment、Style、Bevel动态设置第i个窗格的显示样式与内容。(2)通用对话框设计(CommonDialog控件)用ShowOpen、ShowSave、ShowPrinter方法打开、保存与打印文件;用FileName属性设置或返回要“打开”、“保存”、“打印”的文件名。本次课小结(1)状态栏设计(StatusBar控件)本次课小结89用ShowFont、ShowColor方法设置字体与颜色;用Flags属性设置初始颜色;用Color属性返回颜色;用Flags属性设置初始字体;用FontSize等属性返回字体大小等信息。思考题:4.12作业:4.11、4.13、4.14实验4.3本次课小结用ShowFont、ShowColor方法设置字体与颜色;本904.5MDI多窗体程序设计

单文档界面(SDI)如:记事本(NotePad),只能打开一个文档用户界面

多文档界面(MDI)如:Excel、Word,可同时打开多个文档,每个文档都显示在自己的窗口中。这类用户界面称为多文档用户界面,即MDI。4.5MDI多窗体程序设计914.5MDI多窗体程序设计 MDI主窗体:下拉式菜单或工具栏MDI子窗体1:工作界面1MDI多窗体程序 MDI子窗体2:工作界面2 ……MDI子窗体n:工作界面n说明:通常在主窗体内设计下拉式菜单或工具栏,执行菜单项命令或者工具栏中按钮命令时调用子窗体程序。现介绍创建MDI主窗体与子窗体的方法,及在主窗体内调用子窗体程序的方法。4.5MDI多窗体程序设计 92图4.18学生档案管理主菜单设计界面图4.18学生档案管理主菜单设计界面931.创建MDI主窗体(1)新建解决方案,将解决方案中新建窗体设置为MDI多文档窗体将窗体的IsMdiContainer属性设置为true;即:IsMdiContainer=True则窗体的背景色变为淡黑色,表示该窗体为多文档主窗体。(2)在MDI主窗体中添加下拉式菜单,单击子菜单项调用子窗体程序,显示子窗体界面。4.5MDI多窗体程序设计1.创建MDI主窗体4.5MDI多窗体程序设计942.创建MDI子窗体(1)在项目中添加Windows窗体解决方案资源管理器|右击项目|添加|Windows窗体|选择Windows窗体|名称:Name属性,如Form_XSDA11。(2)用窗体类定义对象<Form类><窗体对象>=new<Form类>();(3)设置窗体对象为子窗体<窗体对象>.MdiParent=this;4.5MDI多窗体程序设计2.创建MDI子窗体4.5MDI多窗体程序设计95(4)调用窗体对象,显示窗体界面<窗体对象>.Show();即在主窗体的子菜单(Menu_11)单击事件中编写下列程序:privatevoidMenu_11_Click(objectsender,EventArgse){Form_XSDA11frmXsda=newForm_XSDA11();frmXsda.MdiParent=this;frmXsda.Show();}4.5MDI多窗体程序设计(4)调用窗体对象,显示窗体界面4.5MDI多窗体程序设计964.6学生档案管理系统窗体设计学生档案管理系统由1个MDI主窗体与6个MDI子窗体组成,MDI主窗体由下拉式菜单、工具栏、状态栏组成,用户单击菜单项命令能调用相应的子窗体程序,且已打开的子窗体标题能在“启动窗口”主菜单项中列出,如图4.15所示。子窗体中界面与程序代码设计将结合学生档案管理系统的各功能模块在第5章到第10章中分别介绍。4.6学生档案管理系统窗体设计学生档案管理系统由1个MD97图4.18学生档案管理主菜单设计界面图4.18学生档案管理主菜单设计界面98【例4.6】建立MDI多文档“学生档案管理系统”主窗体以及校历、学生档案录入、学生档案查询、学生档案统计、学生档案打印和系统维护子窗体。程序设计步骤如下。(1)新建学生档案管理系统解决方案:xsdagl.sln。(2)设置MDI主窗体属性Name:Form_MainText:学生档案管理系统IsMdiContainer:trueWindowsState:Maximized4.6学生档案管理系统窗体设计【例4.6】建立MDI多文档“学生档案管理系统”主窗体以及校99(3)创建6个MDI子窗体解决方案资源管理器|右击项目xsdagl|添加|Windows窗体|选择Windows窗体|名称:窗体的Name属性,按下表设置窗体属性。4.6学生档案管理系统窗体设计子窗体NameText校历子窗体Form_XSDA11校历管理程序学生档案录入子窗体Form_XSDA21学生档案录入程序学生档案查询子窗体Form_XSDA31学生档案查询程序学生档案统计子窗体Form_XSDA41学生档案统计程序学生档案打印子窗体Form_XSDA51学生档案打印程序系统维护子窗体Form_XSDA61系统维护程序(3)创建6个MDI子窗体4.6学生档案管理系统窗体设计100(4)建立“学生档案管理”主窗体的下拉式菜单,其内容如表4.8所示。校历学生档案录入学生档案查询学生档案统计学生档案打印系统维护窗口校历管理学生档案录入学生档案查询(组合)学生档案统计学生档案打印系部代码维护层叠退出(&E)学生宿舍录入学生档案查询(树形)获奖学生统计学生宿舍打印班级代码维护平铺分隔线学生档案查询(分页)学生奖惩打印课程编码维护垂直学生奖惩录入分隔线学生注册打印分隔线排列分隔线学生奖惩查询分隔线文本编辑器学生注册班级代码查询班级报表打印多媒体播放器用户账号维护4.6学生档案管理系统窗体设计(4)建立“学生档案管理”主窗体的下拉式菜单,其内容如表4.101在主窗体中添加menuStrip控件,按表4.7要求输入主菜单与子菜单文本,各菜单项的Name属性按下列命名规则设置。菜单项名字命名规则是:主菜单从Menu_1~Menu_7,一级子菜单(含分隔条)是按二维数组M(8,7)的元素Mij方式命名的。从“校历管理”子菜单项Menu_11到“排列”子菜单项Menu_74。4.6学生档案管理系统窗体设计在主窗体中添加menuStrip控件,按表4.7要求输入主菜102(5)添加状态栏在主窗体添加状态栏,放置2个窗格,分别显示当前日期与时间,用于显示当前激活的窗体名称,设置属性如下。Name:slbl_Dateslbl_WindowsText:日期:时间当前激活窗体:(6)建立菜单项事件过程①在主窗体中选择并双击“退出”子菜单privatevoidMenu_12_Click(objectsender,EventArgse){this.Close();}4.6学生档案管理系统窗体设计(5)添加状态栏4.6学生档案管理系统窗体设计103②编写调用校历管理子窗体的事件过程privatevoidMenu_11_Click(objectsender,EventArgse){Form_XSDA11frmXsda=newForm_XSDA11();frmXsda.MdiParent=this;frmXsda.Show();slbl_File.Text="当前窗体:"+frmXsda.Text;}用同样方法编写调用其余5个子窗体的事件过程。4.6学生档案管理系统窗体设计②编写调用校历管理子窗体的事件过程4.6学生档案管理系统104(7)添加定时器Timer设置属性:Enabled:True;Interval:1000(8)编写Timer事件处理程序在状态栏中显示当前日期与时间

privatevoidtimer1_Tick(objectsender,EventArgse){slbl_Date.Text="日期:时间:"+Convert.ToString(DateTime.Now);}4.6学生档案管理系统窗体设计(7)添加定时器Timer4.6学生档案管理系统窗体设计105(9)添加工具栏在主窗体添加工具栏,放置5个按钮,分别用于校历、录入、查询、统计、打印子窗体的快速调用。设置属如下:Name:tbtn_Calendartbtn_Importtbtn_Find…tbtn_PrintText:校历录入查询…打印Image:自定DisplayStyle:ImageAndText4.6学生档案管理系统窗体设计(9)添加工具栏4.6学生档案管理系统窗体设计106(10)设置按钮单击事件单击校历按钮,在事件对话框中单击Click右边下拦按钮,选择校历菜单单击事件Menu_11_Click。如图4.19所示。用类似方法设置其它四个按钮单击事件。4.6学生档案管理系统窗体设计(10)设置按钮单击事件4.6学生档案管理系统窗体设计107图4.19设置校历按钮事件处理过程4.6学生档案管理系统窗体设计图4.19设置校历按钮事件处理过程4.6学生档案管理108《软件技术》专业剖析报告

<可视化程序设计-C#>第4章菜单、工具栏、状态栏与对话框

《软件技术》专业剖析报告109

Windows风格的界面由菜单、工具栏、状态栏等组成,如学生档案管理系统的主界面。图4.1学生档案管理系统主菜单界面Windows风格的界面由菜单、工具栏、状态栏等组成1101.教学内容(1)菜单设计:下拉菜单设计与弹出式菜单设计(2)工具栏设计(3)状态栏设计(4)对话框使用(5)单文档编辑器设计与MDI多窗体程序设计1.教学内容111图4.2单文档编辑器设计示例图4.2单文档编辑器设计示例1122.教学方法(项目式教学法)(1)以单文档编辑器设计为教学案例介绍菜单、工具栏、状态栏与对话框的设计与使用方法。(2)以学生档案管理系统主界面设计为教学案例介绍MDI多窗体程序设计方法。

2.教学方法(项目式教学法)113【引例】设计一个简易文本编辑器的下拉式菜单,如图4.1所示,设计要求如表4.1所示。表4.1简易文本编辑器的下拉式菜单结构文件(&F)编辑(&E)视图(&V)新建Ctrl+N剪切Ctrl+X页面打开Ctrl+O复制Ctrl+C大纲保存Ctrl+S粘贴Ctrl+V文档结构--打印Ctrl+P工具常用预览Ctrl+V格式-表格退出Ctrl+E4.1菜单设计【引例】设计一个简易文本编辑器的下拉式菜单,如图4.1所示1144.1菜单设计图4.3下拉式菜单的组成二级子菜单菜单项子菜单标题子菜单提示符主菜单项分隔条主菜单一级子菜单热键(Alt+V)快捷键(Ctrl+S)4.1菜单设计图4.3下拉式菜单的组成二级子菜单项子菜单115菜单分为下拉式菜单与弹出式菜单4.1.1下拉式菜单设计1.菜单组成

主菜单:主菜单项1、主菜单项2、…、主菜单项n下拉式菜单……一级子菜单菜单项:表示一条命令或子菜单标题二级子菜单快捷键(Ctrl+字母):直接执行的命令键子菜单三级子菜单分隔条(-):区分不同功能的菜单项组四级子菜单子菜单提示符:表示有下级子菜单五级子菜单热键:“&<字母>”用菜单控件menuStrip设计下拉式菜单。4.1菜单设计菜单分为下拉式菜单与弹出式菜单4.1菜单设计1162.菜单控件menuStrip(1)作用:编辑制作下拉式菜单(2)添加菜单控件工具箱|菜单与工具栏|将menuStrip控件拖放到窗体内。(3)设置菜单位置(Dock属性)用Dock属性设置菜单6种位置:Top(顶部)、Bottom(底部)、Left(左边)、Right(右边)、Fill(填满)和None(不设置)。4.1.1下拉式菜单设计2.菜单控件menuStrip4.1.1下拉式菜单设计117(4)选择菜单类型在新添加菜单项前,应选择菜单项类型。单击“请在此处键入”右侧的下拉按钮,打开设置菜单项类型的下拉框,如图4.4所示。有三种类型:MenuItem(菜单项)ComboBox(下拉框)TextBox(文本框)选择MenuItem(菜单项)4.1.1下拉式菜单设计图4.4选择菜单项类型(4)选择菜单类型4.1.1下拉式菜单设计图4.4118(5)输入菜单项文本(Text属性)单击“请在此处键入”框体,输入菜单项文本,如输入“文件”,如图4.5所示。也可用菜单项的Text属性输入菜单项文本。(6)输入分隔条单击“请在此处键入”下拉按钮,选择Separator,可输入分隔条。如图4.6所示。4.1.1下拉式菜单设计图4.5输入菜单项文本图4.6输入分隔条(5)输入菜单项文本(Text属性)4.1.1下拉式119(7)设置热键(Text属性)Text属性:菜单项文本&<字母>在菜单项的Text属性中输入:菜单项文本&<字母>,可设置热键。如在“文件”菜单项的Text属性中输入“文件(&F)”,则设置“文件”菜单项热键为F。程序执行时按Alt+F组合键可执行“文件”主菜单项命令。4.1.1下拉式菜单设计(7)设置热键(Text属性)4.1.1下拉式菜单设计120(8)设置快捷键(ShortcutKeys属性)用ShortcutKeys属性可设置子菜单的快捷键。方法如下:单击子菜单(如“新建”),在属性对话框中单击ShortcutKeys下拉按钮,选择Ctrl+N为快捷键,如图4.7所示,则Ctrl+N成为“新建”子菜单的快捷键,当按Ctrl+N组合键时,系统将执行“新建”子菜单命令。4.1.1下拉式菜单设计图4.7设置快捷键(8)设置快捷键(ShortcutKeys属性)4.1.1121(9)设置菜单项名称Name先选择菜单项,然后在属性对话框中设置Name属性。如设置文件菜单项的Name:menu_File(10)设置菜单事件双击子菜单项(如,新建),添加菜单的Click(单击)事件,如下所示。privatevoidmenu_New_Click(objectsender,EventArgse){MessageBox.Show("新建文件!");}当用户点击“新建”菜单时将弹出“新建文件!”对话框。4.1.1下拉式菜单设计(9)设置菜单项名称Name4.1.1下拉式菜单设计122(11)删除菜单项右击菜单项|删除,可删除菜单项。(12)插入菜单项右击菜单项|插入,可插入新的菜单项。(13)设置菜单项图标右击菜单项|设置图像|本地资源|导入|选择图片文件,可设置菜单项图标。4.1.1下拉式菜单设计(11)删除菜单项4.1.1下拉式菜单设计123(14)设置菜单项有效(Enabled)属性Enabled=true菜单项有效,Enabled=false菜单项无效(15)设置菜单项复选框(Checked)属性Checked=true菜单项的复选框被选中,则该菜单项左边加上检查标记“√”,表示该菜单项是一个被选项。4.1.1下拉式菜单设计(14)设置菜单项有效(Enabled)属性4.1.1下拉124(16)项集合编辑器①作用:添加、修改和删除菜单项。②启动:单击菜单控件Items属性右边省略按钮。

③项集合编辑器界面(如图4.8所示)左侧上方下拉列表框可选择要添加菜单项的类型,左侧下方是已经添加的菜单项列表,右侧是选中菜单项的属性列表。4.1.1下拉式菜单设计(16)项集合编辑器4.1.1下拉式菜单设计125图4.8项集合编辑器界面图4.8项集合编辑器界面1264.1.1下拉式菜单设计④添加新菜单项单击“添加”按钮可以添加新菜单项。⑤删除菜单项单击删除按钮可删除当前菜单项⑥调整菜单项的位置选中菜单项后,单击列表右侧的上下箭头按钮,可调整菜单项之间的位置。4.1.1下拉式菜单设计④添加新菜单项1274.1.1下拉式菜单设计⑦修改菜单项属性在右侧属性列表中可修改菜单项的属性。如修改Name、Text、ShortcutKeys等属性。单击菜单项的DropDownItems属性右边的省略按钮,将显示其对应下一级子菜单项的成员。如,单击“Menu_File”菜单项(文件)的DropDownItems属性右边的省略按钮,将显示文件菜单对应下一级子菜单项的成员。如图4.9所示。此时可编辑文件子菜项的属性。4.1.1下拉式菜单设计⑦修改菜单项属性128图4.9文件菜单的子菜单成员图4.9文件菜单的子菜单成员129【例4.1】设计一个简易文本编辑器的下拉式菜单,如图4.1所示,设计要求如表4.1所示。文件(&F)(File)编辑(&E)(Edit)视图(&V)(View)新建(New)Ctrl+N剪切(Cut)Ctrl+X页面(Page)打开(Op

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论