2VB用户界面设计基础.docx

上传人:b****6 文档编号:5741959 上传时间:2022-12-31 格式:DOCX 页数:17 大小:37.31KB
下载 相关 举报
2VB用户界面设计基础.docx_第1页
第1页 / 共17页
2VB用户界面设计基础.docx_第2页
第2页 / 共17页
2VB用户界面设计基础.docx_第3页
第3页 / 共17页
2VB用户界面设计基础.docx_第4页
第4页 / 共17页
2VB用户界面设计基础.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

2VB用户界面设计基础.docx

《2VB用户界面设计基础.docx》由会员分享,可在线阅读,更多相关《2VB用户界面设计基础.docx(17页珍藏版)》请在冰豆网上搜索。

2VB用户界面设计基础.docx

2VB用户界面设计基础

2.1VB用户界面设计基础

1.概述

  界面的设计有两步:

先绘制控件,然后确定控件属性。

 

  绘制控件:

在工具箱里单击想画的控件,在窗体里按下鼠标并拖曳,然后松开鼠标即可。

确定属性:

先选中控件,然后按F4键或单击工具栏上的属性窗口进入属性(Properties)窗口,再在属性窗口中找到要设置的属性并进行设置。

2.常用属性的设置

  

(1)Name属性

   对象都有名字,计算机把名字看成对象于对象之间的根本差异,因此在同一窗体里不许出现重名的情况(除非这是一个控件数组),且名字不得超过40个字。

  

  在简单的程序里,给控件命名不是很必要,完全可以使用控件Name属性的缺省值。

例如Text1。

但在有几十个控件的复杂窗体里,就很难区分它们。

所以,VB推荐由三个小写字母的前缀和一个第一个字母为大写的描述性单词组成的名字。

例如cmdMyButton是一个命令按钮(前缀是cmd)

  

(2)Caption属性

  Caption即标题,是可以在对象外观上直接看见的文本,可以长达255字符,包括空格和标点符号,比如一个叫cmdOk的命令钮,它的Caption属性就可以是“Ok”。

注意:

并不是所有的对象都有此属性,比如文本框、图片框、线条等就没有。

   

  为按钮设置热键:

在设置Caption属性时,在需要加下划线的字母前加上“&”符号,例如“&File”,输出的就是“File”,这样就可以通过按ALT键和标题上那个带下划线的字母来选取它了,不必为此编任何代码。

Name和caption的比较:

  

  1)Name是系统用来识别对象的,编程时需要用它来指代各对象;Caption是给用户看的,提示用户该对象的作用;

 

  2)Name可以采用系统默认的名称,但Caption应该根据实际情况改成意义明了的名词;

  3)所有对象都有Name,但不一定都有Caption;

  (3)Top,Left属性

   这两个属性决定对象的位置。

只有两种情况需要在属性窗口里设置这两个属性:

第一种是用户没有鼠标,第二种是程序员需要十分精确地设定这两个值。

当选中对象,单击并拖曳它的时候,便在修改这两个值了。

  (4)Height,Width属性

  这两个属性决定了对象的大小,当选中控件时,它周围出现八个小黑方块,把鼠标指向这些方块,鼠标指针将变成一个双向的箭头,这时按下鼠标并拖曳它,即可改变控件的大小,也就改变了Height,Width属性。

  

(1)设置属性的方法

 

   直接在属性窗口中选择或输入既可。

 

  2)在程序代码中改变属性值

 

  代码中的格式为:

 对象名.属性=属性值

 

  例:

Form1.BackColor=RGB(255,0,0)

   用以隐藏MDIForm或Form对象,但不能使其卸载。

 

   语法:

object.Hide

 

  object所在处代表一个对象表达式,其值为“应用于”列表中的一个对象。

如果省略object,则带有焦点的窗体就认为是该object。

  说明:

  隐藏窗体时,它就从屏幕上被删除,并将其Visible属性设置为False。

用户将无法访问隐藏窗体上的控件,但是对于运行中的VisualBasic 应用程序,或对于通过DDE与该应用程序通讯的进程及对于Timer控件的事件,隐藏窗体的控件仍然是可用的。

 

   窗体被隐藏时,用户只有等到被隐藏窗体的事件过程的全部代码执行完后才能够与该应用程序交互。

 

  如果调用Hide方法时窗体还没有加载,那么Hide方法将加载该窗体但不显示它。

  

(2)Move方法

   用以移动MDIForm、Form或控件。

 

  语法:

object.Move left,top,width,height

说明:

只有left参数是必须的。

但是,要指定任何其它的参数,必须先指定出现在语法中该参数前面的全部参数。

例如,如果不先指定left和top参数,则无法指定width参数。

任何没有指定的尾部的参数则保持不变。

  (3)Print方法

  在Immediate窗口中显示文本。

 

  语法:

object.Print[outputlist]

 

    Print方法的语法具有下列对象限定符和部分:

  

部分

描述

Object

必需的。

对象表达式,其值为“应用于”列表中的对象。

outputlist

可选的。

要打印的表达式或表达式的列表。

如果省略,则打印一空白行。

outputlist参数具有以下语法和部分:

  {Spc(n)|Tab(n)}expressioncharpos

  说明:

  可以用空白或分号来分隔多个表达式。

 

  对系统指定的国别设置,用小数点分隔符将所有打印到Immediate视窗的数据正确格式化。

关键字要用适用于主应用程序的语言输出。

  对于Boolean数据,或者打印True或者打印False。

根据主机应用程序的地区设置来翻译True和False关键字。

  

  使用系统能识别的标准短日期格式书写Date数据。

当日期或时间部件丢失或为零时,只书写已提供的部件。

   如果outputlist数据是Empty,则无内容可写。

但是,如果outputlist数据是Null,则输出Null。

在输出Null关键字时,要把关键字正确翻译出来。

  要把错误数据作为Errorerrorcode输出。

在输出Error关键字时,要把关键字正确翻译出来。

  如果在具有缺省显示空间的模块外使用此方法,则需要object。

例如,如果没有指定对象就在标准模块上调用此方法,则将导致错误发生,但是,如果在窗体模块上进行调用,则会在窗体上显示“outputlist”。

  注意:

因为Print方法是按照字符比例进行打印,所以字符数与字符所占据的宽度固定的列的数目无关。

例如,像“W”这样的宽字母占据的宽度超过一固定列宽,而像"i"这样的窄字母占据的宽度则较小。

考虑到要使用比平均字符更宽的空间,表列一定要留有足够余地。

另外,也可以使用固定间距的字体(像Courier字体)来确保每一字符均只占一列。

  (4)PrintFrom方法

  用以将Form对象的图象逐位发送给打印机。

 

  语法:

object.PrintForm

 

  说明:

PrintForm将打印Form对象的全部可见对象和位图。

在绘制图形时,如果AutoRedraw属性为True,则在运行时PrintForm将打印Form对象或PictureBox控件上的图形。

 

  PrintForm所使用的打印机是由操作系统的控制面板中的设置来决定。

  (5)Refresh方法

  强制全部重绘一个窗体或控件。

 

  语法:

object.Refresh

 

  说明:

在下列情况下使用Refresh方法:

 

  在另一个窗体被加载时显示一个窗体的全部。

  

  更新诸如FileListBox控件之类的文件系统列表框的内容。

 

  更新Data控件的数据结构。

 

  Refresh方法不能用于MDI窗体,但能用于MDI子窗体。

不能在Menu或Timer控件上使用Refresh方法。

  通常,如果没有事件发生,窗体或控件的绘制是自动处理的。

但是,有些情况下希望窗体或控件立即更新。

例如,如果使用文件列表框、目录列表框或者驱动器列表框显示当前的目录结构状态,当目录结构发生变化时可以使用Refresh更新列表。

  可以在Data控件上使用Refresh方法来打开或重新打开数据库(如果DatabaseName,ReadOnly,Exclusive或Connect属性的设置值发生改变),并能重建控件的Recordset属性内的dynaset。

  (6)Show方法

  用以显示MDIForm或Form对象。

 

  语法:

object.Showstyle,ownerform

  说明:

 

  如果调用Show方法时指定的窗体没有装载,VisualBasic将自动装载该窗体。

 

  当Show在显示无模式窗体时,随后遇到的代码则要执行。

当Show在显示模式窗体(modalform)时,则随后的代码直到该窗体被隐藏或卸载时才能执行。

 

  当Show在显示模式窗体时,除了模式窗体中的对象之外不能进行输入(键盘或鼠标单击)。

对其它窗体进行输入前程序必须隐藏或卸载模式窗体(通常是处于响应用户某些操作状态)。

MDIForm不能是形式的。

 

  在模式窗体显示时,虽然应用程序中的其它窗体失效,但其它应用程序不会失效。

 

  应用程序的启动窗体在其Load事件调用后会自动出现。

  下面的例子说明如何使用ownerform参数:

 

  PrivateSubcmdShowResults_Click()

  '显示模式窗体frmResults.

  frmResults.ShowvbModal,Me

  EndSub

  (7)Cls方法

  清除运行时Form或PictureBox所生成的图形和文本。

  

  语法:

object.Cls

  

  说明:

  

  Cls将清除图形和打印语句在运行时所产生的文本和图形,而设计时在Form中使用Picture属性设置的背景位图和放置的控件不受Cls影响。

如果激活Cls之前AutoRedraw属性设置为False,调用时该属性设置为True,则放置在Form或PictureBox中的图形和文本也不受影响。

这就是说,通过对正在处理的对象的AutoRedraw属性进行操作,可以保持Form或PictureBox中的图形和文本。

  

  调用Cls之后,object的CurrentX和CurrentY属性复位为0。

3.窗体的常用事件

 

  

(1) Load事件

 

  这个事件发生在窗体被装入内存时,且发生在窗体出现在屏幕之前。

窗体出现之前,VisualBasic会看一看Load事件里有没有代码,如果有,那么它先执行这些代码,再让窗体出现在屏幕上。

  

(2)Click事件,Dblclick事件

 

  这两个事件在单击或双击窗体时发生。

不过单击窗体里的控件时,窗体的Click事件并不会发生,VisualBasic会去看控件的Click事件里有没有代码。

  (3)Activate(活动事件)与Deactivate(非活动事件)

   

  显示多个窗体时,可以从一个窗体切换到另一个窗体。

每次激活一个窗体时,发生Activate事件,而前一个窗体发生Deactivate事件。

  (4)Resize事件

 

  在窗体被改变大小时会触发此事件。

4.窗体的控制

  

(1)装入或卸出窗体

  

  要装入或卸出窗体,用Load 或Unload语句。

  

  装入窗体:

LoadformName

  

  卸出窗体:

UnLoadformName

  FormName变量是要装入或卸出的窗体名。

Load语句只是把窗体装入内存,并不显示出来,要显示窗体可以使用窗体的Show方法。

  

(2)显示或隐藏窗体

  

  要显示或隐藏窗体,用Show或Hide方法。

若尚未装入内存则先装入再显示。

  

  显示窗体:

 formName.showmode

  

  隐藏窗体:

 formName.hide

    FormName变量是窗体名,可选变元mode为0(缺省值)时窗体为非模态,为1时窗体为模态。

模态窗体完全占有应用程序控制权,不允许切换到别的应用程序,除非关闭!

而非模态窗体则反之。

  (3)END语句

  END语句的功能是终止应用程序的执行,并从内存卸在所有窗体。

  

  语法是:

END

1.  窗体的属性

  

(1)设置属性的方法

  1)在设计态通过属性窗口设置

 

   直接在属性窗口中选择或输入既可。

 

  2)在程序代码中改变属性值

 

  代码中的格式为:

 对象名.属性=属性值

 

  例:

Form1.BackColor=RGB(255,0,0)

2.  窗体的常用方法

  

(1)Hide方法

   用以隐藏MDIForm或Form对象,但不能使其卸载。

 

   语法:

object.Hide

 

  object所在处代表一个对象表达式,其值为“应用于”列表中的一个对象。

如果省略object,则带有焦点的窗体就认为是该object。

  说明:

  隐藏窗体时,它就从屏幕上被删除,并将其Visible属性设置为False。

用户将无法访问隐藏窗体上的控件,但是对于运行中的VisualBasic应用程序,或对于通过DDE与该应用程序通讯的进程及对于Timer控件的事件,隐藏窗体的控件仍然是可用的。

 

   窗体被隐藏时,用户只有等到被隐藏窗体的事件过程的全部代码执行完后才能够与该应用程序交互。

 

  如果调用Hide方法时窗体还没有加载,那么Hide方法将加载该窗体但不显示它。

  

(2)Move方法

   用以移动MDIForm、Form或控件。

 

  语法:

object.Move left,top,width,height

  

  Move方法的语法包含下列部分:

说明:

只有left参数是必须的。

但是,要指定任何其它的参数,必须先指定出现在语法中该参数前面的全部参数。

例如,如果不先指定left和top参数,则无法指定width参数。

任何没有指定的尾部的参数则保持不变。

  (3)Print方法

  在Immediate窗口中显示文本。

 

  语法:

object.Print[outputlist]

 

    Print方法的语法具有下列对象限定符和部分:

  outputlist参数具有以下语法和部分:

  {Spc(n)|Tab(n)}expressioncharpos

  说明:

  可以用空白或分号来分隔多个表达式。

 

  对系统指定的国别设置,用小数点分隔符将所有打印到Immediate视窗的数据正确格式化。

关键字要用适用于主应用程序的语言输出。

  对于Boolean数据,或者打印True或者打印False。

根据主机应用程序的地区设置来翻译True和False关键字。

  

  使用系统能识别的标准短日期格式书写Date数据。

当日期或时间部件丢失或为零时,只书写已提供的部件。

   如果outputlist数据是Empty,则无内容可写。

但是,如果outputlist数据是Null,则输出Null。

在输出Null关键字时,要把关键字正确翻译出来。

  要把错误数据作为Errorerrorcode输出。

在输出Error关键字时,要把关键字正确翻译出来。

  如果在具有缺省显示空间的模块外使用此方法,则需要object。

例如,如果没有指定对象就在标准模块上调用此方法,则将导致错误发生,但是,如果在窗体模块上进行调用,则会在窗体上显示“outputlist”。

  注意:

因为Print方法是按照字符比例进行打印,所以字符数与字符所占据的宽度固定的列的数目无关。

例如,像“W”这样的宽字母占据的宽度超过一固定列宽,而像"i"这样的窄字母占据的宽度则较小。

考虑到要使用比平均字符更宽的空间,表列一定要留有足够余地。

另外,也可以使用固定间距的字体(像Courier字体)来确保每一字符均只占一列。

  (4)PrintFrom方法

  用以将Form对象的图象逐位发送给打印机。

 

  语法:

object.PrintForm

 

  说明:

PrintForm将打印Form对象的全部可见对象和位图。

在绘制图形时,如果AutoRedraw属性为True,则在运行时PrintForm将打印Form对象或PictureBox控件上的图形。

 

  PrintForm所使用的打印机是由操作系统的控制面板中的设置来决定。

2.3控件

1.常用控件介绍

 

(1)常用控件的属性、方法和事件

  ComboBox组合框(将列表框和文本框结合在一起)

  Style属性

  外观属性:

取0时,系统创建一个带下拉式列表框的组合框;为1时,系统创建一个由文本框和列表框直接组合在一起的简单组合框,可以从列表框中选择,也可以直接在文本框中输入;为2时,系统创建一个没有文本框的下拉式列表框,单击列表框上的按钮才显示文本框,用户不能在文本框中输入,只能在列表框中选择。

  Text属性

  其值为用户从列表框中选定的文本或直接输入的文本。

  AddItem方法

  添加列表项,使用格式:

  [对象名.]AddItem<列表项文本>[,插入位置序号]

  若不指定位置,则插入到列表末尾。

  Clear方法

  删除列表所有项目

  RemoveItem方法

  删除列表项,使用格式:

  [对象名.]RemoveItem 删除项序号

  CommandButton

  命令按钮

  Cancel属性

  取消属性,它为True时,按〖ESC〗即等于单击此按钮。

  Default属性

  缺省属性,它为True时,按回车键即等于单击此按钮。

  Timer计时器

  Interval属性

  两次调用Timer事件的事件间隔,用于创建动态效果。

  Frame框架

  CheckBox复选框

  OptionButton选项按钮

  Alignment属性

  决定它们的对齐方式,0=左对齐,1=右对齐。

  Value属性

  决定它们是否被选中的属性

2.常用控件的使用辨析

 

(1)文本框和标签的区别:

   文本框通常用于向计算机输入信息,而标签通常用于输出信息。

文本框是一个十分重要的控件,因为由复选框和选项按钮向程序输入的信息毕竟只有少数的几条信息而已。

标签和文本框的区别很小,标签可以看成是一个在运行时不能修改正文的文本框,因此标签主要用于输出信息。

  

(2) Label的AutoSize属性和WordWrap属性

  为了使标签具有垂直伸展和字换行处理,必须设置它的AutoSize属性和WordWrap属性同时为True。

  

  AutoSize属性为False,WordWrap属性为False时,若标签不够高而Caption太长时,Caption将被切割掉。

  

  AutoSize属性为False,WordWrap属性为True时,情况也如此。

  

  AutoSize属性为True,WordWrap属性为False时,表示可以水平伸展,但只显示一行信息。

  (3)PictureBox和Image的Stretch属性和AutoSize属性

  Image只有Stretch属性,而PictureBox只有AutoSize属性。

  

  AutoSize属性设为True,则PictureBox改变自己的大小来适应其中的图形。

  

  Stretch属性设为True,则Image中的图形将改变自己的大小来适应外面的边框。

  (4)Frame框架、CheckBox复选框、OptionButton选项按钮的区别:

  复选框和选项按钮用于向程序输入信息,框架用来对复选框和选项按钮进行分组。

  

  复选框选中时会在小方框里打一个钩,选项按钮选中时会在小圆圈里点一个点。

2.4   定制菜单

1.菜单概述

  Windows中的菜单一般由菜单条、菜单、菜单项、子菜单、弹出式菜单组成。

2.普通菜单的设计

  

(1)给菜单命名

  菜单标题和菜单命令也有Caption和Name属性,设置了这两个属性就等于创建了菜单。

Name是一个抽象名称,Caption是屏幕上可见的,可在Caption里加入“&”来设置热键。

  

(2)增加和删除菜单

  在MenuEditor中部有三个命令钮分别是下一个、插入、删除。

插入可用来增加新的菜单。

在这三个键下面的Caption列表框里选中菜单项(这时它的底色就变成深蓝色),单击插入键,VisualBasic将上一个增亮菜单下推并增亮一空行,就可以输入新菜单名和标题了。

删除键可用来删掉菜单。

选中要删掉的菜单,单击Delete键就可以删掉它了。

  (3)移动菜单标题

  有四种情况:

向上移动,向下移动,向左缩排,向右缩排,选中某一菜单标题,安上下箭头,则这个菜单将上下移动到你喜欢的位置上,这也决定了它在界面中的位置。

如果按左右箭头,情况则有所不同。

由于菜单是分级的,所以,如果它没有缩排,则它是一个菜单标题;如果它缩排一次,那么它将变成一个菜单命令;如果缩排两次,那么它将成为一个子菜单命令。

VB里可以总共设计四层子菜单。

  (4)设置分离条

   分离条是指在菜单中将命令分组的线,VB将分离条也看成一个菜单项,它也需要Caption和Name属性,而且也有其它属性,分离条与菜单项的区别是分离条的Caption属性必须是连字号即减号。

也就是,当设置了一个Caption属性为“-”的菜单项时,实际上就设置了一个分离条,分离条的名字可以是barFile1之类,以表明分离条的位置。

  (5)菜单的各种简单属性

  在菜单编辑器里有许多确认框和一些文本框及一个下拉式的列表框,这些决定了菜单的各种属性。

  1)Checked复选属性

  这个属性值设置为真,将在菜单命令左边产生一个打勾的确认标志。

  2)Enabled有效属性

   各种各样的用户会产生千奇百怪的操作,在许多Edit菜单里都会有不同形式的让菜单命令模糊的情况。

Enabled属性为真,则菜单命令是清晰的,Enabled属性为假,则菜单命令是模糊的,这时用户就不能选中这个菜单项了。

  3)Visible可见属性

  对暂时不用的菜单,如果把Visible属性设为假,则菜单根本不会出现在屏幕上。

这样做比把Enabled属性设为假显得更加干脆!

  4)Index属性

  可以生成菜单命令数组,用索引号区分开。

例如向File菜单中添加一系列最近打开的文件名。

添加菜单可用Load方法。

以上属性可以在运行时设置,形成动态的菜单的情况。

  例如:

   mnuUndo.Enabled=False

   mnuProperty.Visible=False

   还可以改变Caption等属性。

   mnuUndo.Caption=“Redo”

3.生成弹出式菜单(或浮动菜单)

  几乎每个Windows应用程序都提

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1