VisualBasic属性、方法和事件二
文章作者 100test 发表时间 2007:03:10 18:11:09
来源 100Test.Com百考试题网
单击按钮执行操作
使用户与应用程序交互的最简便的方法是给用户提供一个按钮。可以用Visual Basic 提供的 CommandButton 控件,或利用包含图形的 Image 控件,如一个图标,来创建自己的“按钮”。
使用 CommandButton
大多数 Visual Basic 应用程序都有 CommandButton,使用户通过简单的敲击按钮来执行操作。当用户选中按钮时,不仅会执行相应操作,还会使该按钮看上去象被按下并释放一样。无论何时,只要用户单击按钮,就会调用 Click 事件过程。将代码写入 Click 事件过程,执行想要执行的动作。
在程序执行时,有多种方法可以选中 CommandButton :
用鼠标单击按钮。
按 TAB 键把焦点移到相应按钮上,然后按 SPACE 键或 ENTER 键选中该按钮。参阅本章后面的“焦点概述”。
按 CommandButton 的快捷键(ALT 下划线的字符)。
在代码中设 CommandButton 的 Value 属性为 True。 cmdClose.Value = True
在代码中调用 CommandButton 的 Click 事件。 cmdClose_Click
如果该 CommandButton 是窗体的缺省命令按钮,既使将焦点移到其它不是 CommandButton 的控件上,按下回车键也会选中该按钮。在设计时,通过设置某按钮的 Default 属性为 True ,指定它为窗体的缺省CommandButton 。
如果该 CommandButton 是窗体的缺省的取消按钮,即使把焦点移到其它控件上,也能通过按 ESC 键选中该按钮。在设计时,通过设置某按钮的 Cancel 属性为 True,指定它为窗体的缺省的取消按钮。 所有这些操作都使 Visual Basic 调用 Click 事件过程。
“测试按钮”应用程序
利用 Caption 属性可以在按钮上显示文字,告诉用户该按钮的功能。在图3.4 中,在控件示例应用程序的测试按钮范例中包含一个 Caption 属性为"Change Signal" 的 CommandButton(此例的工作为Controls.vbp 示例应用程序中的 Buttons.frm)。
注意,S 是这个按钮的快捷键,用一条下划线表示。在 Caption 属性的正文内插入一个 (&.) 符号,将使得此符号后面的字符成为该按钮的快捷键(例如,Change &.Signal)。
用户单击 CommandButton,将执行该 CommandButton 的 Click 事件过程中的代码。在这个范例中,每次单击按钮,将变换一个不同的交通灯图标。
详细信息 关于 CommandButton 的属性的详细信息,请参阅第七章“使用Visual Basic 的标准控件”。
用于显示和输入文本的控件
Label 和 TextBox 控件是用于显示和输入文本的。让应用程序在窗体中显示文本时使用 Label,允许用户输入文本时用 TextBox。Labels 中的文本为只读文本,而 TextBox 中的文本为可编辑文本。
可由用户编辑的文本,例如一个顺序条目 TextBox
字段或一个密码框
只能显示的文本,例如在窗体中标识一个 Label
字段或给用户显示指令
Labels 和 TextBoxes 将在以下部分讨论:
用 Label 显示文本(vbconUsingLabels)使用 Label 控件的基本知识。
使用 TextBox(vbconWorkingWithTextBox)使用 TextBox 的基本知识。
用 Label 显示文本
Label 控件显示的文本用户不能直接修改。如 TextBox 和 ScrollBar 这些没有自己的 Caption 属性的控件,可以用 Label 标识。在 Label 中实际显示的文本是由 Caption 属性控制的,该属性可以在设计时在“属性”窗口中设置或在运行时用代码赋值。
在缺省情况下,标题是 Label 控件中唯一的可见部分。但是,如果把BorderStyle 属性设成 1(可以在设计时进行),那么 Label 就有了一个边框,看起来像一个 TextBox。还可以通过设置 Label 的 BackColor、BackStyle、ForeColor 和 Font 属性来,改变 Label 的外观。
改变 Label 尺寸以适应其内容
设计时可在“属性”窗口中指定单行 Label 的标题。但是如果要输入一个较长的或在运行时可能变化的标题,该怎么办呢?Label 提供了两种属性:AutoSize 和 WordWrap,用于帮助您改变控件尺寸以适合较长或较短的标题。
AutoSize 属性决定控件是否自动改变尺寸以适应其内容。如该属性设为True,Label 就会根据其内容进行水平方向变化,如图 3.5 所示。
WordWrap 属性使 Label 根据其内容进行垂直方向变化,而保持其宽度不变,如图3.6 所示。本例的工作版,请参阅应用程序示例 Controls.vbp 中的 WordWrap.frm。
注意 如果在 Controls.vbp 中运行AotoSize示例,就会发现为了同时使用 WordWrap,必须两个复选框都选中。这是因为,要想使 Label 的WordWrap 属性起作用,就必须设置 AutoSize 为 True。只有在一个单字的宽度超过控件的当前宽度时,Label 的宽度才会增加。
详细信息 关于 Label 控件属性的详细信息,请参阅第七章“使用 VisualBasic 的标准控件”。
使用 Text Boxes
TextBox 是一种通用控件,可以由用户输入文本或显示文本。除非把TextBox 的 Locked 属性设为 True,否则不能用 TextBox 显示不希望用户更改的文本。