第七章用户界面设计_第1页
第七章用户界面设计_第2页
第七章用户界面设计_第3页
第七章用户界面设计_第4页
第七章用户界面设计_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

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

文档简介

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 自主学习自主学习鼠标和键盘鼠标和键盘本章目录本章目录本章目录本章目录7.1 7.1 用户界面概述用户界面概述例例7.1 记事本程序记事本程序菜单:下拉式菜单、弹出式菜单(快捷菜单)菜单:下拉式菜单、弹出式菜单(快捷菜单)对话框:通用对话框、自定义对话框对话框:通用对话框、自定义对话框工具栏工具栏本章目录本章目录7.1 7.1 用户界面概述用户界面概述 界面设计预定义类

2、界面设计预定义类 system.windows.forms命名空间命名空间 界面元素界面元素控件控件控件控件菜单menustripcontextmenustrip下拉式菜单弹出式菜单通用对话框openfiledialogsavefiledialogfontdialogcolordialog打开文件对话框保存文件对话框字体对话框颜色对话框7.2 7.2 菜单设计菜单设计menustrip:下拉式菜单下拉式菜单contextmenustrip:弹出式菜单弹出式菜单本章目录本章目录重要属性:重要属性:(1)(1)text text 热键热键 &热键字符热键字符 输入:输入:新建新建(&n) 显示:显

3、示:新建新建(n) n n为热键为热键 分隔符分隔符 输入:输入:- -(2) (2) shortcutshortcut 设置快捷键。设置快捷键。(3) (3) checkedchecked 控制菜单项左边是否显示控制菜单项左边是否显示“ ”重要事件:重要事件:菜单项的事件菜单项的事件click click 为菜单项编写程序为菜单项编写程序 本章目录本章目录例例7.2 设计例设计例7.1的程序的程序本章目录本章目录下拉式菜单的建立过程:下拉式菜单的建立过程:1) 在窗体上放置一个在窗体上放置一个mainmenumainmenu控件控件2) 设计菜单设计菜单3) 设置菜单项的属性设置菜单项的属性

4、4) 编写菜单项的事件过程编写菜单项的事件过程 本章目录本章目录弹出式菜单的建立过程:弹出式菜单的建立过程:1) 在窗体上放置一个在窗体上放置一个contextmenustrip控件控件2) 设计菜单设计菜单3) 设置菜单项的属性设置菜单项的属性4) 建立弹出式菜单与文件框之间的关联建立弹出式菜单与文件框之间的关联 5) 编写菜单项的事件过程编写菜单项的事件过程 一般与下拉式菜单中的菜单项一般与下拉式菜单中的菜单项共享事件过程共享事件过程 修改修改“新建新建”菜单项的事件过程(假定弹出式菜单中菜单项的事件过程(假定弹出式菜单中“新建新建”菜单项名称为菜单项名称为popfilenew)sub f

5、ilenew_click( ) handles filenew.click, popfilenew.clicktextbox1.text = textbox1.focus()end sub7.3 7.3 对话框设计对话框设计 通用对话框通用对话框 自定义对话框自定义对话框不能真正实现文件打开、文件存储、设置颜不能真正实现文件打开、文件存储、设置颜色、字体设置、打印等操作。色、字体设置、打印等操作。 如果想要实现这些功能则需要编程实现。如果想要实现这些功能则需要编程实现。打开对话框的方法:打开对话框的方法: showdialog例如:例如: openfiledialog1.showdialog返

6、回值:返回值: windows.forms.dialogresult.ok windows.forms.dialogresult.cancel 本章目录本章目录1. 1. 打开文件对话框打开文件对话框控件:控件:openfiledialogopenfiledialog重要属性重要属性 :(1) filenamefilename包含路径,包含路径,titletitle不包含路径不包含路径 (2) filter filter 确定所显示文件的类型确定所显示文件的类型 例如:例如:text files|*.txt|所有文件所有文件|*.* 显示文本文件和所有文件显示文本文件和所有文件(3) filt

7、erindexfilterindex 决定文件列表框中显示第几组类型的文件决定文件列表框中显示第几组类型的文件(4) initialdirectory initialdirectory 初始化路径初始化路径本章目录本章目录例例7.4 编写一个应用程序,弹出打开文件对话框,编写一个应用程序,弹出打开文件对话框, 从中选择一个从中选择一个bmp位图文件,能在图形框中显位图文件,能在图形框中显示该图片示该图片sub button1_click( ) handles button1.clickopenfiledialog1.filename = *.bmpopenfiledialog1.initial

8、directory = c:windowsopenfiledialog1.filter = pictures(*.bmp)|*.bmp|all files(*.*)|*.*openfiledialog1.filterindex = 1 显示显示“打开文件打开文件”对话框,并判断是否选择了文件。对话框,并判断是否选择了文件。if (openfiledialog1.showdialog() = windows.forms.dialogresult.ok) then 利用利用image.fromfile函数把图片放入图形框中。函数把图片放入图形框中。picturebox1.image = image

9、.fromfile(openfiledialog1.filename)elsemsgbox(没有选择文件!没有选择文件!)end ifend sub本章目录本章目录可以在属性窗口中设置可以在属性窗口中设置例例7.5 为例为例7.1中的中的“打开打开”菜单项编写事件过程菜单项编写事件过程.sub fileopen_click( ) handles fileopen.click, pop fileopendim inputdata as stringopenfiledialog1.filename = *.txtopenfiledialog1.initialdirectory = c:openfi

10、ledialog1.filter = text files(*.txt)|*.txt|all iles(*.*)|*.*openfiledialog1.filterindex = 2openfiledialog1.showdialog() 显示显示“打开文件打开文件”对话框对话框fileopen(1, openfiledialog1.filename, openmode.input)textbox1.text = do while not eof(1)inputdata = lineinput(1) 读一行数据读一行数据textbox1.text = textbox1.text + input

11、data + vbcrlfloopfileclose(1) 关闭文件关闭文件end sub本章目录本章目录可以在属性窗口中设置可以在属性窗口中设置2. 2. 保存文件对话框保存文件对话框 控件:控件:savefiledialogsavefiledialog属性与属性与openfiledialog控件基本相同,控件基本相同,特有属性是特有属性是defaultextdefaultext 用于设置缺省的扩展名用于设置缺省的扩展名例例7.6 为例为例7.1中的中的“另存为另存为”菜单项编写事件过程菜单项编写事件过程。 有关文件的读写操作请参阅第八章。有关文件的读写操作请参阅第八章。sub filesa

12、veas_click( ) handles filesaveas.click, popfilesaveas savefiledialog1.filename = default.txt 设置缺省文件名设置缺省文件名savefiledialog1.defaultext = txt 设置缺省扩展名设置缺省扩展名savefiledialog1.showdialog() 打开另存为对话框打开另存为对话框fileopen(1, savefiledialog1.filename, openmode.output)print(1, textbox1.text) 将文本框中的内容写入文件将文本框中的内容写入文

13、件fileclose(1) 关闭文件关闭文件end sub本章目录本章目录3. 3. 颜色对话框颜色对话框 控件:控件:colordialogcolordialog重要属性:重要属性:colorcolor 用户选定的颜色,属于用户选定的颜色,属于color结构类型结构类型 例例7.7 为例为例7.1中的中的“颜色颜色”菜单项编写事件过程菜单项编写事件过程。sub formatcolor_click() handles formatcolor.click, popformatcolor.click colordialog1.showdialog() 打开颜色对话框打开颜色对话框 textbox1

14、.forecolor = colordialog1.colorend sub设置文件框前景颜色设置文件框前景颜色本章目录本章目录4. 4. 字体对话框字体对话框 控件:控件:fontdialogfontdialog例例7.8 为例为例7.1中的中的“字体字体”菜单项编写事件过程。菜单项编写事件过程。 sub formatfont_click() handles formatfont.click, popformatfont.click fontdialog1.showdialog() fontdialog1.showdialog() 打开字体对话框打开字体对话框textbox1.font =

15、fontdialog1.font textbox1.font = fontdialog1.font 设置字体设置字体end subfontfont获取选择的字体获取选择的字体color color 选定的颜色选定的颜色showcolor控制是否控制是否有有“颜色颜色”选项选项本章目录本章目录5. 5. 自定义对话框自定义对话框 具有特殊属性的窗体具有特殊属性的窗体 添加添加windows窗体,设置属性窗体,设置属性 使用使用vb.net提供的模板,如对话框、提供的模板,如对话框、“关于关于”框等框等本节使用第一种方法本节使用第一种方法创建自定义对话框创建自定义对话框 (1) 添加窗体添加窗体

16、项目添加项目添加windows窗体窗体 注意:一个项目中不能有相同名称的窗体注意:一个项目中不能有相同名称的窗体(2)设置属性设置属性 本章目录本章目录(3)设置启动窗体设置启动窗体 系统默认系统默认form1为启动窗体。为启动窗体。 项目属性项目属性命令设置启动窗体命令设置启动窗体(4)窗体的实例化和显示窗体的实例化和显示 只有启动窗体实例化是由只有启动窗体实例化是由vb.net自动完成自动完成 其他窗体都是通过代码实例化并显示的其他窗体都是通过代码实例化并显示的例如,显示窗体例如,显示窗体form2:dim frm2 as new form2 定义定义frm2为类为类form2的对象变量,

17、并创建一个实例赋予的对象变量,并创建一个实例赋予frmfrm2.show() 也可以用命令也可以用命令frm2.showdialog()显示窗体显示窗体而不能用下列语句显示而不能用下列语句显示form2:form2. show() 或或form2. showdialog()原因:原因:form2是一个类名,不是窗体名称是一个类名,不是窗体名称本章目录本章目录重要方法重要方法(1)showshow 以以非模式方法显示窗体非模式方法显示窗体 窗体对象窗体对象.show().show() 非模式非模式 程序可继续执行程序可继续执行(2)showdialog showdialog 以以模式方法显示窗体

18、模式方法显示窗体 窗体对象窗体对象.showdialog().showdialog()模式模式 在关闭该窗体后才能对其它窗体进行操作在关闭该窗体后才能对其它窗体进行操作(3)hidehide 将窗体暂时隐藏将窗体暂时隐藏(还在内存中还在内存中) 窗体对象窗体对象.hide.hide(4) close 关闭窗体,释放内存关闭窗体,释放内存窗体对象窗体对象.close注意:注意:me 关键字关键字me代表代码所在的窗体代表代码所在的窗体 me.close 关闭自己关闭自己本章目录本章目录与对话框的数据传递与对话框的数据传递 在模块中定义公共变量,作为交换数据的场所。在模块中定义公共变量,作为交换数

19、据的场所。 例如:创建例如:创建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本章目录本章目录7.4 7.4 工具栏工具栏 控件:控件:toolstrip toolstrip控件是一个容器,控件是一个容

20、器, 可以放置可以放置toolstripbotton、toolstriplabel等对象等对象 本章目录本章目录例例7.10 为例为例7.1配置一个工具栏配置一个工具栏(1) 建立建立toolstrip控件控件(2) 创建图标按钮创建图标按钮 选择选择button (3) 设置属性设置属性 image属性值是图标按钮中显示的图像属性值是图标按钮中显示的图像 (4) 编写事件过程编写事件过程 一般与菜单项共享事件过程一般与菜单项共享事件过程本章目录本章目录 “新建新建”菜单项和菜单项和“新建新建”图标按钮的事件过程图标按钮的事件过程sub filenew_click( ) handles fil

21、enew.click, popfilenew.click, toolstripbutton1.clicktextbox1.text = textbox1.focus()end sub注意:注意:可以在项目编辑器中设置属性可以在项目编辑器中设置属性 在工具栏的属性窗口选择在工具栏的属性窗口选择编辑器编辑器 toolstrip控件上还可以放置控件上还可以放置toolstriplabel等对象。等对象。 toolstripbotton还有一个主要属性是还有一个主要属性是tooltoptext7.5 7.5 综合应用综合应用 例例7.117.11 如图所示程序:如图所示程序:“统计统计”和和“结束结束

22、”没有子菜单,当选没有子菜单,当选择择“统计后,统计结果显示在左图的对话框中。统计后,统计结果显示在左图的对话框中。 本章目录本章目录综合应用综合应用 例例7.127.12 多重窗体应用示例多重窗体应用示例 本章目录本章目录7.6 7.6 自主学习自主学习鼠标和键盘鼠标和键盘 7.6.1 7.6.1 鼠标鼠标鼠标事件鼠标事件 需要注意事件发生在哪一个对象上需要注意事件发生在哪一个对象上clickclick、doubleclickdoubleclick事件事件mousedownmousedown 按下任意一个鼠标按钮时被触发按下任意一个鼠标按钮时被触发mouseupmouseup 释放任意一个鼠

23、标按钮时被触发释放任意一个鼠标按钮时被触发mousemove mousemove 移动鼠标时被触发移动鼠标时被触发本章目录本章目录鼠标鼠标 鼠标事件过程中的参数鼠标事件过程中的参数e决定鼠标的当前状态。决定鼠标的当前状态。 e.xe.x、e.ye.y表示当前鼠标的位置;表示当前鼠标的位置; e.button指示按下或释放了哪个鼠标按钮,指示按下或释放了哪个鼠标按钮, 枚举常量枚举常量含含 义义mousebuttons.left 按下或释放了鼠标左键按下或释放了鼠标左键mousebuttons.right 按下或释放了鼠标右键按下或释放了鼠标右键mousebuttons.middle 按下或释放

24、了鼠标中键按下或释放了鼠标中键mousebuttons.none 没有按下鼠标按钮没有按下鼠标按钮本章目录本章目录鼠标鼠标 例例7.14 显示鼠标器指针所指的位置。显示鼠标器指针所指的位置。 例例7.15 设计一个最简单的画图程序。程序运行时,设计一个最简单的画图程序。程序运行时,按住鼠标右键移动画圆,按住鼠标左键移动画线。按住鼠标右键移动画圆,按住鼠标左键移动画线。 本章目录本章目录7.5.2 7.5.2 键盘键盘 1. keypresskeypress事件事件 输入输入acsii字符时发生,字符时发生, 参数参数e包含了与包含了与keypress事件相关的数据。事件相关的数据。 e.keychare.keychar 输入的字符的输入的字符的ascii码值。码值。 例如,键盘输入小写例如,键盘输入小写a,e.keychar的值为的值为“a”。 e.handled e.handled 表示本次按键是否被处理过表示本次按键是否被处理过 true:已经被处理过,不再处理,即怱略本次按键已经被处理过,不再处理,即怱略本次按键 false:传送给传送给windows进行常规处理。进行常规处理。 利用这个特性可以在某些控件中过滤掉不允许的字符。利用这个特性可以在某些控件中过滤掉不允许的字符。 本章目录本章目录键盘键盘 2. keydownkeydown事件和事件和keyupk

温馨提示

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

评论

0/150

提交评论