VB中,同一个按钮,先后单击两次功能不同,怎么实现。
这个按钮先是写着‘清空’,功能是清空form上面的文本,单击一次后上面变成了“退出系统”,功能也变成了end。到底怎么实现啊。...
这个按钮先是写着‘清空’,功能是清空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不存在。
以文本框为例吧。以下是刚为你写的代码,已经测试通过。
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不存在。
展开全部
在单击事件里声明一个静态变量。
static clicknum as integer ’默认初始值是0
clicknum=clicknum+1
if(clicknum mod 2=1) then '奇数次
form1.clear
else ‘ 偶数次
end
end if
static clicknum as integer ’默认初始值是0
clicknum=clicknum+1
if(clicknum mod 2=1) then '奇数次
form1.clear
else ‘ 偶数次
end
end if
追问
是点击一下之后按钮上的caption变成了“退出系统”,再点一下才结束程序。
追答
我只是提供了一个想法。具体怎么实现看你自己。
如果仅仅是你所说的这点功能,楼下的已经为你解答。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
If Command1.Caption = "清空" Then
Me.Cls
Command1.Caption = "退出系统"
Else
Unload Me
End If
End Sub
Private Sub Form_Load()
Command1.Caption = "清空"
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实按钮最常见的是“开始”、“停止”状态切换
这种最好是全局变量,为了好理解我就用局部变量了
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
这种最好是全局变量,为了好理解我就用局部变量了
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
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
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
Static a As Byte
a = a + 1
If (a Mod 2 = 1) Then
Text1.Text = " "
Command1.Caption = "退出系统"
Else
End
End If
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询