vb的属性、方法和事件(三)

为用户提供选择的控件

大多数应用程序需要向用户提供选择,如简单的“Yes/No”选项、或者从包含成百个可能性的列表中进行选择。Visual Basic 包含几种用于提供选择的标准控件。下列表格总结了这些控件及其用途。

用CheckBox 选择单个选项
CheckBox 表明一个特定的状态是选定 (on) 还是清除 (off)。在应用程序中使用 CheckBox 为用户提供了“True/False”或“yes/no”的选择。因为CheckBox 彼此独立工作,所以用户可以同时选择任意多个 CheckBox。例如,在图 3.9 中,可同时选定粗体和斜体。

CheckBox 应用程序
这个例子使用一个CheckBox 来决定文本用普通字体还是用斜体字显示。关于此例的工作版本,请参阅应用程序示例Controls.vbp 中的Check.frm。如图 3.10 所示,此应用程序有一个TextBox,一个Label,一个CommandButton和两个CheckBox。

下表列出了应用程序中的对象的属性设置。

选定粗体或斜体时,CheckBox 的 Value 属性值设置为 1 ,不选定时为 0。缺省 Value 值为 0,所以除非改变 Value 属性值,否则第一次显示时不会选定 CheckBox。可以用常量 vbChecked 和 vbUnchecked 表示数值 1 和0。

check box 应用程序中的事件
当单击 CheckBox 时,会发生 CheckBox 的 Click 事件。此事件过程测试是否选定 CheckBox(即是否 Value = vbChecked)。如果选定,通过设置 Font对象的 Bold 或 Italic 属性,将文本转换为粗体或斜体;该 Font 对象是由TextBox 的 Font 属性返回的。
Private Sub chkBold_Click ()
If ChkBold.Value = vbChecked Then '如果选定。
txtDisplay.Font.Bold = True
Else '如果没有选定。
txtDisplay.Font.Bold = False
End If
End Sub
Private Sub chkItalic_Click ()
If ChkItalic.Value = vbChecked Then '如果选定。
txtDisplay.Font.Italic = True
Else '如果没有选定。
txtDisplay.Font.Italic = False
End If
End Sub

用选项按钮进行选项分组
选项按钮表示给用户一组两个或更多的选择。但是,不同于 CheckBox,选项按钮总是作为一组的组成部分工作的;因此,选择一个选项按钮就会立即清除该组中的其它按钮。定义一个选项按钮组,告诉用户“这是一组选择,从中选一个,而且只选一个”。
例如,在图 3.11 所示的选项按钮组中,用户只能在三个选项按钮中选择一个。

创建选项按钮组
直接放在一个窗体中(也就是不在 Frame 或 PictureBox 中)的所有的选项按钮构成一组。如果想创建别的选项按钮组,必须将其中一些选项按钮组放到 Frame 或 PictureBox 中去。
所有在给定的 Frame 中的选项按钮,组成一个独立的组,在 PictureBox 中的所有选项按钮也是如此。用这种方法生成一个独立的组时,总是要先画好一个 Frame 或 PictureBox ,然后,将选项按钮画到里面。图 3.12 显示了一个具有两个选项按钮组的窗体。

在 Frame 中画了一组选项按钮后,用户只能在组内选择一个选项按钮。要在 Frame 中为控件分组,请按照以下步骤执行:
1. 在“工具箱”中选择 Frame 控件,并在窗体上画出 Frame。
2. 在“工具箱”中选择 OptionButton 控件,并在 Frame 内画出控件。
3. 如果还想在 Frame 中增加选项按钮,重复步骤 2。先画 Frame ,再在 Frame 上画每个控件,这样移动 Frame 时控件会一起移动。如果将已经存在的控件移到 Frame 上,此控件不会和 Frame 一起移动。
注意 如果将已存在的控件分组到一个 Frame 中去,可以选择这些控件,然后剪贴到 Frame 或 Picture 控件上去。

控件的容器
当控件是独立的对象时,窗体和控件之间存在着某种父子关系。图 3.12 表明 选项按钮怎样才能包含在一个窗体或一个 Frame 控件中。
要理解容器的概念,首先要把所有的控件都想象为所在窗体的孩子。实际上,大多数控件都支持只读 Parent 属性,它的值就是控件所在的窗体。作为孩子,控件决定其在父窗体上的位置。控件的 Left 属性和 Top 属性是相对父窗体而言,且控件不能移出父窗体的边界。移动容器的同时也移动了控件,因此控件与容器的相对位置不变(即控件的 Left 属性和 Top 属性不变)。

选定或禁止选项按钮
一个选项按钮可以用以下方法选择:
1.在运行期间用鼠标单击选项按钮。
2.用Tab键定位到选项按钮组,然后在组内使用方向键(箭头键)定位选项按钮。
3.用代码将它的 Value 属性设置为 True:optChoice.Value = True
4.使用在 Label 的标题中指定的快捷键。
5.要使某个按钮成为选项按钮组中的缺省按钮,只要在设计时将其 Value属性设置成 True。它保持被选中状态,直到用户选择另一个不同的选项按钮或用代码改变它。
要禁用选项按钮,将其 Enabled 属性设置为 False。程序运行时,若此选项按钮变灰,表示无法选取此选项按钮。

Options 应用程序
图 3.13 所示的窗体使用选项按钮为一台计算机选择处理器类型和操作系统。当用户在组内选择了选项按钮后,Label 的标题就改变,反映当前的选择。关于此例的工作版本,请参阅应用程序示例Controls.vbp 中的Options.frm。

下表列出了应用程序中对象属性的设置。

Options 应用程序中的事件
选项应用程序对事件的响应如下:
前三个选项按钮的 Click 事件为窗体级的 string 变量 strComputer 分配一个相应的描述。
后两个选项按钮的 Click 事件为第二个窗体级变量 strSystem 分配一个相应的描述。
这个方法的关键就在于使用这两个窗体级变量,strComputer 和strSystem。这两个变量具有不同的 string 值,选项按钮的最后选定就依赖于这些值。
每次选择新的选项按钮,其 Click 事件的代码就更新相应变量的值。
Private Sub opt586_Click()
strComputer = "Pentium"
Call DisplayCaption
End Sub
然后它调用一个名为 DisplayCaption 的过程,此过程把两个变量连在一起并改变 Label 的 Caption 属性。
Sub DisplayCaption()
lblDisplay.Caption = "You selected a " &
_strComputer & " running " & strSystem
End Sub
使用子过程是因为改变 Caption 属性的过程对所有五个选项按钮来说基本是一样的,只不过变量的值因情况而异。这就可以避免在每个 Click 事件中重复同样的代码。
详细信息 变量和子过程将在第五章“编程基础”中讨论。

使用 ListBox 和 ComboBox
ListBox 和 ComboBox 为用户提供了选择。按照缺省规定,选项以垂直单列方式显示,也可以设置成多列方式。如果项目数量超过 ComboBox 或ListBox 所能显示的数目,ScrollBar 自动出现在控件上。于是用户可以在列表中上下左右滚动。图 3.14 为一个单列 ListBox。

ComboBox 兼有 TextBox 和 ListBox 两者的功能。该控件允许用户通过键入文本或选择列表中的项目来进行选择。图 3.15 为一个ComboBox。

与其它含有单值的控件相反,例如 Label 的 Caption 属性或 TextBox 的text 属性,ListBox 和 ComboBox 含有多个值或值的集合。在运行时用内置的方法增加、删除及保持集合中的值。要将几条项目添加到名为 List1 的ListBox 中,其代码如下: List1.AddItem "Paris"
List1.AddItem "New York"
List1.AddItem "San Francisco"
ListBox 和 ComboBox 是在有限空间为用户提供大量选项的有效方法。
详细信息 关于 ListBox 和 ComboBox 控件的详细信息,请参阅第七章“使用 Visual Basic 的标准控件”。

时间: 2024-08-16 17:23:44

vb的属性、方法和事件(三)的相关文章

vb的属性、方法和事件(一)

Visual Basic的窗体和控件是具有自己的属性.方法和事件的对象.可以把属性看作一个对象的性质,把方法看作对象的动作,把事件看作对象的响应.日常生活中的对象,如小孩玩的气球同样具有属性.方法和事件.气球的属性包括可以看到的一些性质,如它的直径和颜色.其它一些属性描述气球的状态(充气的或未充气的)或不可见的性质,如它的寿命.通过定义,所有气球都具有这些属性:这些属性也会因气球的不同而不同. 气球还具有本身所固有的方法和动作.如:充气方法(用氦气充满气球的动作),放气方法(排出气球中的气体)和

vb的属性、方法和事件(五)

Images应用程序中的事件 Image应用程序对事件的响应如下:1.每一个 Image控件的 Click 事件使 Shape 控件的 Left 属性与它自己的 Left 属性相同,并将图形移到 Image的顶端.2.调用 PictureBox 的 Cls 方法清除 StatusBar 的当前标题.3.调用 PictureBox 的 Print 方法在 StatusBar 上打印新标题.Image控件 Click 事件的代码如下:Private Sub imgHeart_Click()shpCa

vb的属性、方法和事件(四)

使用ScrollBar作为输入设备 滚动条通常与TextBox或窗口一起使用,但有时也可作输入设备.因为ScrollBar控件可按比例指示当前位置,所以可以单独使用以控制程序输入,如控制声音音量或调整图片颜色.HScrollBar(水平)和 VScrollBar(垂直)控件是独立的,它有自己的事件.属性和方法集.ScrollBar 控件与附属于TextBox.ListBox.ComboBox 或 MDI 窗体的内部 ScrollBar 不同.(TextBox 和 MDI 窗体具有 ScrollB

ADO三大对象的属性、方法、事件及常数[ZT]

ado|常数|对象 ADO三大对象的属性.方法.事件及常数(一)Connection对象  属性  属性名称 数据类型和用途 Attributes 可读写Long类型,通过两个常数之和指定是否使用保留事务(retainning transactions).常数adXactCommitRetaining表示调用CommitTrans方法时启动一个新事务:常数adXactAbortRetaning表示调用RollbackTrans方法时启动一个新事务.默认值为0,表示不使用保留事务. Command

控件应该有属性,方法,事件啊,为什么我在 vs2010 里面只能找到控件的属性和事件,找不到方法啊。

问题描述 点击一下控件,右下角有属性和事件,请问方法在哪里?我不是伸手党,找了好久确实没看到 解决方案 解决方案二:不是在面板中设定的.你可以在窗体类中写代码调用控件的方法.解决方案三:方法封装起来,引入命名空间System.Windows.Forms

Delphi中的TWebBrowser与MSHTML(5):document对象的属性、方法和事件

{IHTMLDocument2 方法:} write //写入 writeln //写入并换行 open //打开一个流,以收集 document.write 或 document.writeln 的输出 close //关闭并输出用 document.open 方法打开的流 clear //清空文档中所有元素, 可能暂时不支持 queryCommandSupported //是否支持指定命令 queryCommandEnabled //指定命令是否有效 queryCommandState //

Delphi中的TWebBrowser与MSHTML(3):window对象的属性、方法和事件

这还不是 TWebBrowser 控件的属性.方法.事件; 这和浏览器中 JavaScript 的 window 对象是基本一致的. window 对象是网页脚本中的顶层对象, 它代表网页的窗口.或一个框架. {IHTMLWindow2 属性:} frames //返回窗口中的框架数组 location //返回窗口的 location 对象 history //返回窗口的 history 对象 navigator //返回窗口的 navigator 对象 document //返回窗口的 do

命名属性、方法和事件

用户给一个类加入的属性.方法和事件定义了这个类的对象的接口的一些操作,当用户在命名这些单元和它的参数的时候,可以发现当按照以下规则命名时,将会带来一些方便之处: (1)情况允许的情况下,使用完整的一个单词,例如"SpellCheck",而简写的话,可能会带来一些重复,从而引起混乱.如果整个单词太长的话,就是用第一个音节. (2)一个名称中有几个单词连写的话,每个单词的头一个字母用大写,例如"ShortcutMenus",或者"AsyncReadcomple

HTML5 Video标签的属性、方法和事件汇总介绍

 HTML5 Video标签的属性.方法和事件汇总介绍 前段时间写了一个基于html5 video的视频播放器,从起初的对其不了解,然后到能够写一个基本完善的自定义播放器.在这个过程中,对video标签的属性,方法,事件有了个全面的认识.下面分类列出来一下. <video>标签的属性 代码如下: src :视频的属性 poster:视频封面,没有播放时显示的图片 preload:预加载 autoplay:自动播放 loop:循环播放 controls:浏览器自带的控制条 width:视频宽度

javascript中window.document的属性、方法和事件

属性: 1 Attributes     存储节点的属性列表(只读) 2 childNodes     存储节点的子节点列表(只读) 3 dataType     返回此节点的数据类型 4 Definition     以DTD或XML模式给出的节点的定义(只读) 5 Doctype     指定文档类型节点(只读) 6 documentElement     返回文档的根元素(可读写) 7 firstChild     返回当前节点的第一个子节点(只读) 8 Implementation