vb中如何用一个按钮实现标签控件中两项内容的切换

就是一个按钮,是显示的时候标签显示aaaa,然后按钮变成切换两个字,这是后单击按钮,标签显示bbbb!(菜鸟级的)

窗体上加入两个控件,一个是command1,一个是Label1
Private Sub Command1_Click()
Static Flag As Boolean
If Flag = False Then
Me.Command1.Caption = "切换"
Me.Label1.Caption = "bbbb"
Flag = True
Else
Me.Command1.Caption = "显示"
Me.Label1.Caption = "aaaa"
Flag = False
End If
End Sub

你描述的不太清晰,但是这是一种能实现的较直观的方法,至于两个caption是怎么对应的,请你再确认一下
解释一下,在这个sub过程里使用的static变量的声明,而没有用dim.
楼上的代码稍有问题,一个是如果不使用static变量的话,还可以使用全局变量来实现,但是不应当在form_load中进行变量声明,应在通用中进行声明.第二个,在i的累加过程中,可以用余数来判断两种状态,比如进行s=i mod 2,s值=0或者=1来判断.使用这种方法有个缺陷,进行累加时i值会不断增加,因此i的声明就成了个问题,假如声明为int型,那么只能累加到255,以上就可能会出现溢出错误.所以在进行i的自加时,进行判断后,还可以再减回去.
比如
if i = 1 then
i=i-1
elseif i = 0 then '其实用else就行了,为了看起来清晰这里我使用了elseif
i=i+1
end if
不过声明为全局变量也是一种不错的办法.
这里只是作为知识的探讨,没有任何其他意思.
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-03-08
这个有很多方法的,我这里随便写了一种,按你的要求只有一次变换的···
private sub form_load()
dim i as integer
end sub

private sub command1_click()
label1.caption="aaaa"
command1.caption="切换"
i = i+1
if i =1 then
label1.caption="bbbb"
end if
end sub
第2个回答  2010-03-09
Private Sub Command1_Click()
Static a As Boolean
If a Then
Label1 = "bbbbbbbbbbbbb"
Else
Label1 = "aaaaaaaaaaaa"
End If
a = Not a
End Sub

Private Sub Form_Load()
Label1 = "bbbbbbbbbbbbb"
End Sub
第3个回答  2010-03-09
Private Sub form_load()
Label1.Caption = "aaaa"
End Sub

Private Sub command1_click()
If Command1.Caption = "切换" Then Label1.Caption = "bbbb"
Command1.Caption = "切换"
End Sub
相似回答
大家正在搜