下一页 1 2
第四章 按钮(一)
从本章开始我们将正式进入VB的编程世界,但这还仅仅是个开端,要编出功能强大的软件,还要学很多东西,那就要看以后的VB高级教程了,我也得努力学啊!
按钮是我们在Windows操作见到最多的控件,它们有着各种各样的功能:“确认”、“取消”、“下一步”等等,这些都是按钮的表现,另外还有很多图形话的按钮,其实它们并没什么不同,所有的按钮都是通过单击(click)事件实现的,只不过是在外表不同罢了。下面就让我们建立一个最简单的按钮,双击工具箱的CommandButton,将在窗体上建立一个形如图4-1的按钮,它的缺省名(Name属性)为Command1,我们可以把它改名为cmdExit,把Caption属性设为“退出”,然后双击,按钮填写代码:
Private Sub cmdExit_Click()
Unload Me
End Sub
按下F5或者工具条上的播放按钮,运行程序。图4-2当你按下退出按钮的时候,就会自动退出程序,原因是当你单击按钮时激活了它的Click事件,执行“Unload Me”语句,使得窗体被卸载。
上面举了一个比较简单的例子,下面的例子稍微复杂些:
新建窗体,控件布局如图4-3所示,包括一个List控件,一个Text控件和两个按钮(Command1和Command2), (比较简单的程序我们都采用缺省名),对它们属性做如下修改:
List1
Caption=“请输入你的名字”
Text1
Text=“”(空字符串)
Button1
Caption=“复原”
Enabled=False
Button2
Caption=“清除”
把使用Button1的Enabled属性设为False(假),是使程序在初始时,无法单击Command1。按F5,运行程序,图4-4,复原按钮成为灰色,不可选。
当然现在程序还什么也不能做,下面我们在程序中添加代码:
首先在General里声明全局变量:
Dim StoreString As String '用来储存字符串
※注意:为什么用全局变量?
VB里每一个小过程都相当于一个程序,程序里的变量称为局部变量,是只能在程序内部使用的,而当程序调用结束后,由于从内存中被清除,所以变量储存的值也就消失了,这里的全局变量是用来在过程中传递字符串。
接着填写以下代码:
Private Sub Command1_Click()
Text1.Text = StoreString
Command1.Enabled = False
End Sub
Private Sub Command2_Click()
StoreString = Text1.Text
Text1.Text = "" '清除
Command1.Enabled = True
End Sub
运行程序,如图4-5。按下“清除”,文本框被清除,按下“复原”,文本有被恢复,许多程序中的Undo/Redo就是利用这个原理实现的,现在知道为什么内存越多越好了吧。
我们在把程序修改一下,把Button2删除,Button1的Enabled属性改为True,Caption改为“清除”,填写代码:
Private Sub Command1_Click()
If Command1.Caption = "清除" Then
StoreString = Text1.Text
Text1.Text = "" '清除
Command1.Caption = "复原"
Else
Text1.Text = StoreString
Command1.Caption = "清除"
End If
End Sub
同样可以上面的功能,但是却少用了一个控件,控件使用少的程序启动会快些。