《七章用户界面设计》由会员分享,可在线阅读,更多相关《七章用户界面设计(30页珍藏版)》请在金锄头文库上搜索。
1、第七章第七章 用户界面设计用户界面设计 灿墟扰抹哭征斗炉杨腾赫促痕辽花钾毯栏凤棉驭毗盯玄却况桂恃脸命蜘辖七章用户界面设计七章用户界面设计7.1 7.1 用户界面概述用户界面概述7.2 7.2 菜单设计菜单设计7.3 7.3 对话框设计对话框设计 7.4 7.4 工具栏工具栏 7.5 7.5 综合应用综合应用 7.6 7.6 自主学习自主学习鼠标和键盘鼠标和键盘本章目录本章目录嚼隔讯帧渐顺鲍练猩些伺掘酋玄狙田欢娠绪镀号浅段每畏堆衡生卓圾利薯七章用户界面设计七章用户界面设计2本章目录本章目录7.1 用户界面概述用户界面概述例例7.1 记事本程序记事本程序菜单:下拉式菜单、弹出式菜单(快捷菜单)菜单
2、:下拉式菜单、弹出式菜单(快捷菜单)对话框:通用对话框、自定义对话框对话框:通用对话框、自定义对话框工具栏工具栏今造仑留喝鸭邪态老公静曝轻彝煞谆烷揖凄冶泄厚依淀砂镊驮炉豢搁旺氦七章用户界面设计七章用户界面设计3本章目录本章目录7.1 用户界面概述用户界面概述 界面设计预定义类界面设计预定义类 System.Windows.Forms命名空间命名空间 界面元素界面元素控件控件控件控件菜单MenuStripContextMenuStrip下拉式菜单弹出式菜单通用对话框OpenFileDialogSaveFileDialogFontDialogColorDialog打开文件对话框保存文件对话框字体对
3、话框颜色对话框工具栏ToolStrip工具栏辊捡秘掖痕余搬碘校视沽猜经鲤费显丘窖次请溺驱烃评斩暇瘪聂邀寐贰辨七章用户界面设计七章用户界面设计47.2 菜单设计菜单设计MenuStrip:下拉式菜单下拉式菜单ContextMenuStrip:弹出式菜单弹出式菜单本章目录本章目录强便觉薪倪益升樟租矫扛惺绦纬格抒抨嗽箱婆莹攘咖惨忌俗睹粤馁醉第尺七章用户界面设计七章用户界面设计5重要属性:重要属性:(1)(1)Text 热键热键 &热键字符热键字符 输入:输入:新建新建(&N) 显示:显示:新建新建(N) N N为热键为热键 分隔符分隔符 输入:输入:-(2) (2) ShortCut 设置快捷键。设
4、置快捷键。(3) (3) Checked 控制菜单项左边是否显示控制菜单项左边是否显示“”重要事件:重要事件:菜单项的事件菜单项的事件Click 为菜单项编写程序为菜单项编写程序 本章目录本章目录庄夫计坪儿每晌厕路雨订挪永北弯汗佐蕉硬各仪蓝迂刷爬吏徒闽取作灸潘七章用户界面设计七章用户界面设计6例例7.2 设计例设计例7.1的程序的程序本章目录本章目录下拉式菜单的建立过程:下拉式菜单的建立过程:1)在窗体上放置一个在窗体上放置一个MainMenu控件控件2)设计菜单设计菜单3)设置菜单项的属性设置菜单项的属性4)编写菜单项的事件过程编写菜单项的事件过程 牙朝桔强硫毕惟赡屁扎屯逆教睡锥刃田的郧捉仕
5、颖癣存棘溪敞澳牙畜杖讲七章用户界面设计七章用户界面设计7本章目录本章目录弹出式菜单的建立过程:弹出式菜单的建立过程:1)在窗体上放置一个在窗体上放置一个ContextMenuStrip控件控件2)设计菜单设计菜单3)设置菜单项的属性设置菜单项的属性4)建立弹出式菜单与文件框之间的关联建立弹出式菜单与文件框之间的关联 5)编写菜单项的事件过程编写菜单项的事件过程 一般与下拉式菜单中的菜单项一般与下拉式菜单中的菜单项共享事件过程共享事件过程 修改修改“新建新建”菜单项的事件过程(假定弹出式菜单中菜单项的事件过程(假定弹出式菜单中“新建新建”菜单项名称为菜单项名称为PopFileNew)Sub Fi
6、leNew_Click( ) Handles FileNew.Click, PopFileNew.ClickTextBox1.Text = TextBox1.Focus()End Sub实姐殿瞎胞蚤示技桑善寄裴辽闰犯莆饮妻糊愉飘议垮菇题娇萎导溯恒个查七章用户界面设计七章用户界面设计87.3 对话框设计对话框设计 通用对话框通用对话框 自定义对话框自定义对话框不能真正实现文件打开、文件存储、设置颜不能真正实现文件打开、文件存储、设置颜色、字体设置、打印等操作。色、字体设置、打印等操作。 如果想要实现这些功能则需要编程实现。如果想要实现这些功能则需要编程实现。打开对话框的方法:打开对话框的方法:
7、ShowDialog例如:例如: OpenFileDialog1.ShowDialog返回值:返回值: Windows.Forms.DialogResult.OK Windows.Forms.DialogResult.Cancel 本章目录本章目录蛔膛虐筋燃性娩端机同炳怒绑慢椭尘姥顾慕漳挫挺妆蔫包氛裙夯敝苦塘搐七章用户界面设计七章用户界面设计91. 打开文件对话框打开文件对话框控件:控件:OpenFileDialog重要属性重要属性 :(1) FileName包含路径,包含路径,Title不包含路径不包含路径 (2) Filter 确定所显示文件的类型确定所显示文件的类型 例如:例如:Text
8、 Files|*.txt|所有文件所有文件|*.* 显示文本文件和所有文件显示文本文件和所有文件(3) FilterIndex 决定文件列表框中显示第几组类型的文件决定文件列表框中显示第几组类型的文件(4) InitialDirectory 初始化路径初始化路径本章目录本章目录赶迭娩正傲椎和俄俱骤恳汰郭历院书题盐痹航背殴氦敝乐件苛舌稀陶箭虫七章用户界面设计七章用户界面设计10例例7.4 编写一个应用程序,弹出打开文件对话框,编写一个应用程序,弹出打开文件对话框, 从中选择一个从中选择一个BMP位图文件,能在图形框中显位图文件,能在图形框中显示该图片示该图片Sub Button1_Click(
9、) Handles Button1.ClickOpenFileDialog1.FileName = *.BmpOpenFileDialog1.InitialDirectory = C:WindowsOpenFileDialog1.Filter = Pictures(*.Bmp)|*.Bmp|All Files(*.*)|*.*OpenFileDialog1.FilterIndex = 1 显示显示“打开文件打开文件”对话框,并判断是否选择了文件。对话框,并判断是否选择了文件。If (OpenFileDialog1.ShowDialog() = Windows.Forms.DialogResul
10、t.OK) Then 利用利用Image.FromFile函数把图片放入图形框中。函数把图片放入图形框中。PictureBox1.Image = Image.FromFile(OpenFileDialog1.FileName)ElseMsgBox(没有选择文件!没有选择文件!)End IfEnd Sub本章目录本章目录可以在属性窗口中设置可以在属性窗口中设置灵躇贷措雏电乖泛互骚版喉渡授碴绢桃坊漫披富澈翌流烩楷肮锈墓梧枷徒七章用户界面设计七章用户界面设计11例例7.5 为例为例7.1中的中的“打开打开”菜单项编写事件过程菜单项编写事件过程.Sub FileOpen_Click( ) Handle
11、s FileOpen.Click, Pop FileOpenDim InputData As StringOpenFileDialog1.FileName = *.txtOpenFileDialog1.InitialDirectory = c:OpenFileDialog1.Filter = Text Files(*.Txt)|*.Txt|All iles(*.*)|*.*OpenFileDialog1.FilterIndex = 2OpenFileDialog1.ShowDialog() 显示显示“打开文件打开文件”对话框对话框FileOpen(1, OpenFileDialog1.File
12、Name, OpenMode.Input)TextBox1.Text = Do While Not EOF(1)InputData = LineInput(1) 读一行数据读一行数据TextBox1.Text = TextBox1.Text + InputData + vbCrLfLoopFileClose(1) 关闭文件关闭文件End Sub本章目录本章目录可以在属性窗口中设置可以在属性窗口中设置貉硒趾庐迟蓟抢钥晋洋裂垒谚咆谦慷粹跃共膝瘦拔箱闲牢劈翘玩超闯万劈七章用户界面设计七章用户界面设计122. 保存文件对话框保存文件对话框 控件:控件:SaveFileDialog属性与属性与OpenF
13、ileDialog控件基本相同,控件基本相同,特有属性是特有属性是DefaultExt 用于设置缺省的扩展名用于设置缺省的扩展名例例7.6 为例为例7.1中的中的“另存为另存为”菜单项编写事件过程菜单项编写事件过程。 有关文件的读写操作请参阅第八章。有关文件的读写操作请参阅第八章。Sub FileSaveAs_Click( ) Handles FileSaveAs.Click, PopFileSaveAs SaveFileDialog1.FileName = Default.Txt 设置缺省文件名设置缺省文件名SaveFileDialog1.DefaultExt = Txt 设置缺省扩展名设置
14、缺省扩展名SaveFileDialog1.ShowDialog() 打开另存为对话框打开另存为对话框FileOpen(1, SaveFileDialog1.FileName, OpenMode.Output)Print(1, TextBox1.Text) 将文本框中的内容写入文件将文本框中的内容写入文件FileClose(1) 关闭文件关闭文件End Sub本章目录本章目录识耪蛇享吝坛兹掖灶爬粥柯舶耍雁爪错扦耐砧闲配墒死敌上骆晓寻奶昼租七章用户界面设计七章用户界面设计133. 颜色对话框颜色对话框 控件:控件:ColorDialog重要属性:重要属性:Color 用户选定的颜色,属于用户选定的
15、颜色,属于Color结构类型结构类型 例例7.7 为例为例7.1中的中的“颜色颜色”菜单项编写事件过程菜单项编写事件过程。Sub FormatColor_Click() Handles FormatColor.Click, PopFormatColor.Click ColorDialog1.ShowDialog() 打开颜色对话框打开颜色对话框 TextBox1.ForeColor = ColorDialog1.ColorEnd Sub设置文件框前景颜色设置文件框前景颜色本章目录本章目录宿潮绎淌娱潘掂挖旅涌参饶必咐滞悉捻秉疽戮写揉房野留字肄舜便岛擅虑七章用户界面设计七章用户界面设计144. 字
16、体对话框字体对话框 控件:控件:FontDialog例例7.8 为例为例7.1中的中的“字体字体”菜单项编写事件过程。菜单项编写事件过程。 Sub FormatFont_Click() Handles FormatFont.Click, PopFormatFont.Click FontDialog1.ShowDialog() 打开字体对话框打开字体对话框TextBox1.Font = FontDialog1.Font 设置字体设置字体End SubFont获取选择的字体获取选择的字体Color 选定的颜色选定的颜色ShowColor控制是否有控制是否有“颜色颜色”选项选项本章目录本章目录孜湛设
17、葫幼鸟峪枫踏渊貌厄殿赞砍松统酸吭泥搔碳淀棘氖曝屡针溅奉奄柒七章用户界面设计七章用户界面设计155. 自定义对话框自定义对话框 具有特殊属性的窗体具有特殊属性的窗体 添加添加Windows窗体,设置属性窗体,设置属性 使用使用VB.NET提供的模板,如对话框、提供的模板,如对话框、“关于关于”框等框等本节使用第一种方法本节使用第一种方法创建自定义对话框创建自定义对话框 (1) 添加窗体添加窗体 项目添加项目添加Windows窗体窗体 注意:一个项目中不能有相同名称的窗体注意:一个项目中不能有相同名称的窗体(2)设置属性设置属性 本章目录本章目录萤掂剐急亩寥麦涂撵爹嫂掷乎嚼锯绚蘑骏溯英的捕招妓津激
18、纶察措览饵蓄七章用户界面设计七章用户界面设计16(3)设置启动窗体设置启动窗体 系统默认系统默认Form1为启动窗体。为启动窗体。 项目属性项目属性命令设置启动窗体命令设置启动窗体(4)窗体的实例化和显示窗体的实例化和显示 只有启动窗体实例化是由只有启动窗体实例化是由VB.NET自动完成自动完成 其他窗体都是通过代码实例化并显示的其他窗体都是通过代码实例化并显示的例如,显示窗体例如,显示窗体Form2:Dim frm2 As New Form2 定义定义frm2为类为类Form2的对象变量,并创建一个实例赋予的对象变量,并创建一个实例赋予frmfrm2.Show() 也可以用命令也可以用命令f
19、rm2.ShowDialog()显示窗体显示窗体而不能用下列语句显示而不能用下列语句显示Form2:Form2. Show() 或或Form2. ShowDialog()原因:原因:Form2是一个类名,不是窗体名称是一个类名,不是窗体名称本章目录本章目录可糟无鞭钓驯蔫笺方缎苑弯压众贪霓唱葵杏钮梳佛畸哮秸啮驼爷瞬酉巳拯七章用户界面设计七章用户界面设计17重要方法重要方法(1)Show 以以非模式方法显示窗体非模式方法显示窗体 窗体对象窗体对象.Show() 非模式非模式 程序可继续执行程序可继续执行(2)ShowDialog 以以模式方法显示窗体模式方法显示窗体 窗体窗体对象象.ShowDia
20、log()模式模式 在关闭该窗体后才能对其它窗体进行操作在关闭该窗体后才能对其它窗体进行操作(3)Hide 将窗体暂时隐藏将窗体暂时隐藏(还在内存中还在内存中) 窗体窗体对象象.Hide(4) Close 关闭窗体,释放内存关闭窗体,释放内存窗体对象窗体对象.Close注意:注意:Me 关键字关键字Me代表代码所在的窗体代表代码所在的窗体 Me.Close 关闭自己关闭自己本章目录本章目录莱橙苛愚维讯蝉硫盲化韶匝沟狠圣靖未联颐毗黍钝蛙畴巍稗店届蛔栋哺走七章用户界面设计七章用户界面设计18与对话框的数据传递与对话框的数据传递 在模块中定义公共变量,作为交换数据的场所。在模块中定义公共变量,作为交
21、换数据的场所。 例如:创建例如:创建Module1,然后在其中如下的变量:,然后在其中如下的变量: Public x As String例例7.9 为例为例7.1设计一个如图设计一个如图1.7.9所示的对话框,所示的对话框, 并且为并且为“帮助关于帮助关于”编写事件过程编写事件过程Sub AboutDialog_Click( ) Handles AboutDialog.ClickDim Dialog As New Form2Dialog.ShowDialog()End Sub本章目录本章目录狼运绵神垣泻版块囚跋倦启仲挣乖爷聘延球洲固绰详夏寇魏挚邻眩敏玩让七章用户界面设计七章用户界面设计197.
22、4 工具栏工具栏 控件:控件:ToolStrip ToolStrip控件是一个容器,控件是一个容器, 可以放置可以放置ToolStripBotton、ToolStripLabel等对象等对象 本章目录本章目录例例7.10 为例为例7.1配置一个工具栏配置一个工具栏(1) 建立建立ToolStrip控件控件(2) 创建图标按钮创建图标按钮 选择选择Button (3) 设置属性设置属性 Image属性值是图标按钮中显示的图像属性值是图标按钮中显示的图像 (4) 编写事件过程编写事件过程 一般与菜单项共享事件过程一般与菜单项共享事件过程抚鄂蕾朝峨鸽螟耀证东迫蛇詹斧匙检触烩契愁琅须郭拱湖贯淌筷列斩奎
23、池七章用户界面设计七章用户界面设计20本章目录本章目录 “新建新建”菜单项和菜单项和“新建新建”图标按钮的事件过程图标按钮的事件过程Sub FileNew_Click( ) Handles FileNew.Click, PopFileNew.Click, ToolStripButton1.ClickTextBox1.Text = TextBox1.Focus()End Sub注意:注意:可以在项目编辑器中设置属性可以在项目编辑器中设置属性 在工具栏的属性窗口选择在工具栏的属性窗口选择编辑器编辑器 ToolStrip控件上还可以放置控件上还可以放置ToolStripLabel等对象。等对象。 T
24、oolStripBotton还有一个主要属性是还有一个主要属性是ToolTopText虑耸砂僻掷滩瑞馈咋药拒尺市害振辽即硷闺末怜兔痛敦躇豢逮癸激袭酉旦七章用户界面设计七章用户界面设计217.5 综合应用综合应用 例例7.117.11 如图所示程序:如图所示程序:“统计统计”和和“结束结束”没有子菜单,当选没有子菜单,当选择择“统计后,统计结果显示在左图的对话框中。统计后,统计结果显示在左图的对话框中。 本章目录本章目录姐咯龙鳃棕论瓷葱州犹娇勾庶梁七襟枣御樊必赎研倍讼潘闪倦汀貌捞睦烤七章用户界面设计七章用户界面设计22综合应用综合应用 例例7.127.12 多重窗体应用示例多重窗体应用示例 本章
25、目录本章目录睦刺褪婶涣撇耶写忌匈蘸插酵辜耳逗祁磕沥闷班眶陶恶脾徽啊朔浩岛噶屠七章用户界面设计七章用户界面设计237.6 自主学习自主学习鼠标和键盘鼠标和键盘 7.6.1 鼠标鼠标鼠标事件鼠标事件 需要注意事件发生在哪一个对象上需要注意事件发生在哪一个对象上Click、DoubleClick事件事件MouseDown 按下任意一个鼠标按钮时被触发按下任意一个鼠标按钮时被触发MouseUp 释放任意一个鼠标按钮时被触发释放任意一个鼠标按钮时被触发MouseMove 移动鼠标时被触发移动鼠标时被触发本章目录本章目录劣匹计奇搔哗浙凸钮淹抬撇尖胺漏榴暗揽溪姆乳秽好缸蛆羔搓悸茁唾烤河七章用户界面设计七章用
26、户界面设计24鼠标鼠标 鼠标事件过程中的参数鼠标事件过程中的参数e决定鼠标的当前状态。决定鼠标的当前状态。 e.Xe.X、e.Ye.Y表示当前鼠标的位置;表示当前鼠标的位置; e.Button指示按下或释放了哪个鼠标按钮,指示按下或释放了哪个鼠标按钮, 枚举常量枚举常量含含 义义MouseButtons.Left 按下或释放了鼠标左键按下或释放了鼠标左键MouseButtons.Right 按下或释放了鼠标右键按下或释放了鼠标右键MouseButtons.Middle 按下或释放了鼠标中键按下或释放了鼠标中键MouseButtons.None 没有按下鼠标按钮没有按下鼠标按钮本章目录本章目录呜
27、吗驴转没瞄良羡赐虞便袋臆谢放匀铀耶陡缴蚌恶徽君显辟玖摔眯钻娩冤七章用户界面设计七章用户界面设计25鼠标鼠标 例例7.14 显示鼠标器指针所指的位置。显示鼠标器指针所指的位置。 例例7.15 设计一个最简单的画图程序。程序运行时,设计一个最简单的画图程序。程序运行时,按住鼠标右键移动画圆,按住鼠标左键移动画线。按住鼠标右键移动画圆,按住鼠标左键移动画线。 本章目录本章目录仁炽磺檬刨淫萧怔蒙梢诣投驭狡决医溺岔谎徊玛笛悦譬陵爹舒蜀笋隙博耻七章用户界面设计七章用户界面设计267.5.2 键盘键盘 1. KeyPress事件事件 输入输入ACSII字符时发生,字符时发生, 参数参数e包含了与包含了与Ke
28、yPress事件相关的数据。事件相关的数据。 e.KeyChar 输入的字符的输入的字符的ASCII码值。码值。 例如,键盘输入小写例如,键盘输入小写A,e.KeyChar的值为的值为“a”。 e.Handled 表示本次按键是否被处理过表示本次按键是否被处理过 True:已经被处理过,不再处理,即怱略本次按键已经被处理过,不再处理,即怱略本次按键 False:传送给传送给Windows进行常规处理。进行常规处理。 利用这个特性可以在某些控件中过滤掉不允许的字符。利用这个特性可以在某些控件中过滤掉不允许的字符。 本章目录本章目录驼沥蝎墅邓畅鹊加酶肿削砷车瓷抬得搜下沼豪窗写手雇殴晚迪秧赃仲锥恭七
29、章用户界面设计七章用户界面设计27键盘键盘 2. KeyDown事件和事件和KeyUp事件事件当焦点在某个对象时,用户按下键盘上的任一键,便会当焦点在某个对象时,用户按下键盘上的任一键,便会引发该对象引发该对象KeyDown事件,释放按键便触发事件,释放按键便触发KeyUp事事件。件。参数参数e包含了所按键信息包含了所按键信息(及及Shift、Ctrl、Alt键的状态键的状态)。e.KeyCode的值为的值为操作的物理键。操作的物理键。 例例7.217.21编写一个程序,按下编写一个程序,按下Alt+F5Alt+F5组合键可终止程序的组合键可终止程序的运行运行本章目录本章目录睛誉凛麦邓色鸥示猴
30、幂究惨晤瘦盒占拽亩誓飘嘲脉讨亩堰七负停懊纲组溶七章用户界面设计七章用户界面设计28本章小节本章小节常用控件常用控件单选按钮、复选框、框架、列表框、组合框单选按钮、复选框、框架、列表框、组合框、滚滚动条、进度条动条、进度条、定时器定时器、超链接超链接通用对话框通用对话框菜单菜单下拉式菜单下拉式菜单 MainMenu弹出式菜单弹出式菜单 ContextMext两个窗体之间访问两个窗体之间访问 通过通过窗体对象实例窗体对象实例.控件控件 或或模块级公共变量模块级公共变量坊丧褪渭秩枪硬伴济铜寿赫弹触哟粪栅躺元传湖茸郎建柯诛蓉首哀肇姐跨七章用户界面设计七章用户界面设计29思考题思考题1. 有哪几种方法可
31、以在列表框添加选项?有哪几种方法可以在列表框添加选项?2如如果果要要一一个个定定时时器器每每半半分分钟钟产产生生一一个个Tick控控件件,则则InterVal属性应设置为多少?属性应设置为多少?3 3在在VB.NET中,使用什么方法访问网页?中,使用什么方法访问网页?4 4代代码码中中如如何何判判断断用用户户在在通通用用对对话话框框中中选选择择了了“取取消消”按按钮钮?5创创建建弹弹出出菜菜单单需需要要什什么么控控件件?通通过过什什么么属属性性才才能能将将控控件件与与弹出菜单建立关联?弹出菜单建立关联?6 6什么是模式对话框?什么是非模式对话框?什么是模式对话框?什么是非模式对话框?7 7简述窗体之间数据互访如何才能实现?简述窗体之间数据互访如何才能实现?本章目录本章目录哼惕择蜂粤忽舜巢姓馁县贩卸苏咯韵焰抄尝掠陇拒灿蛰战脖梗沁锰轴钝筋七章用户界面设计七章用户界面设计30