VB中,同一个按钮,先后单击两次功能不同,怎么实现。

这个按钮先是写着‘清空’,功能是清空form上面的文本,单击一次后上面变成了“退出系统”,功能也变成了end。到底怎么实现啊。

清空form上面的文本? form上面咋有文本? 文本框text里的文本?标签label里的文本?
以文本框为例吧。以下是刚为你写的代码,已经测试通过。
Private Sub Form_Load()
Command1.Caption = "清空"
End Sub

Private Sub Command1_Click()
If Command1.Caption = "清空" Then
Text1.Text = ""
Command1.Caption = "退出系统"
Else: End
End If
End Sub

楼上的form1.clear不存在。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-09-26
在单击事件里声明一个静态变量。
static clicknum as integer ’默认初始值是0
clicknum=clicknum+1
if(clicknum mod 2=1) then '奇数次
form1.clear
else ‘ 偶数次
end
end if追问

是点击一下之后按钮上的caption变成了“退出系统”,再点一下才结束程序。

追答

我只是提供了一个想法。具体怎么实现看你自己。
如果仅仅是你所说的这点功能,楼下的已经为你解答。

第2个回答  推荐于2017-09-18
Private Sub Command1_Click()
If Command1.Caption = "清空" Then
Me.Cls
Command1.Caption = "退出系统"
Else
Unload Me
End If
End Sub

Private Sub Form_Load()
Command1.Caption = "清空"
End Sub本回答被提问者采纳
第3个回答  2011-09-26
其实按钮最常见的是“开始”、“停止”状态切换
这种最好是全局变量,为了好理解我就用局部变量了

Private Sub Command1_Click()
Static bRun As Boolean 'Command1初始为“开始”
If bRun = True Then
Command1.Caption = "停止"
Else
Command1.Caption = "开始"
End If
bRun = Not bRun
End Sub

至于你所说的,一样可以使用静态变量,前面的回答是局限于2次,或者从Caption判断
这样做速度慢或者不安全(功能是可以实现的),我建议是这样

Private Sub Command1_Click()
Static i As Integer
Select Case i
Case 0
'第一次点击
Text1.Text = ""
Command1.Caption = "退出系统"
Case 1
'第二次点击
End
Case 2
'在需要复位的地方,比如这里加一行 i = -1,那么下一次点击将转到第一次点击
'多一种情况多一个case,用处是比如:下一步,下一步,下一步
End Select
i = i + 1
End Sub
第4个回答  2011-09-26
Private Sub Command1_Click()
Static a As Byte
a = a + 1
If (a Mod 2 = 1) Then
Text1.Text = " "
Command1.Caption = "退出系统"
Else
End
End If
End Sub
相似回答