我想达到的效果是:选择combo1中的一个list项目,点击command1,在label1中显示相应内容,没有选择就为空
我写的代码是:PrivateSubCommand1_Click()IfCombo1.ListIndex=AThenLabel1.Caption="A"ElseIfComb...
我写的代码是:
Private Sub Command1_Click()
If Combo1.ListIndex = A Then
Label1.Caption = "A"
ElseIf Combo1.ListIndex = B Then
Label1.Caption = "B"
ElseIf Combo1.ListIndex = C Then
Label1.Caption = "C"
Else
Label1.Caption = " "
End If
End Sub
但是label只有在combo选择A项目的时候才显示A,如果选择B项目、C项目或者是不选,label一直都没有显示,什么原因? 展开
Private Sub Command1_Click()
If Combo1.ListIndex = A Then
Label1.Caption = "A"
ElseIf Combo1.ListIndex = B Then
Label1.Caption = "B"
ElseIf Combo1.ListIndex = C Then
Label1.Caption = "C"
Else
Label1.Caption = " "
End If
End Sub
但是label只有在combo选择A项目的时候才显示A,如果选择B项目、C项目或者是不选,label一直都没有显示,什么原因? 展开
3个回答
展开全部
用我这段就可以喽。
Private Sub Command1_Click()
If Combo1.ListIndex < 0 Then
Label1.Caption = ""
ElseIf Combo1.ListIndex >= Combo1.ListCount Then
Label1.Caption = ""
Else
Label1.Caption = Combo1.List(Combo1.ListIndex)
End If
End Sub
至于你的问题是出在
你的Combo里的数据应该就是 A、B、C、...
这样的情况下。如
选择第一个,则 Combo1.ListIndex = 0
选择第二个,则 Combo1.ListIndex = 1同时你应该没有标记 Option Explicit 也没有去声明变量A,B,C的类型。
这样你的变量 A, B, C 就有可能是默认值 0由于以上两点,看起来你的If是有3次判断
但事实上只有一次,也就是If Combo1.ListIndex = 0 Then
Label1.Caption = "A"
ElseIf Combo1.ListIndex = 0 Then
Label1.Caption = "B"
ElseIf Combo1.ListIndex = 0 Then
Label1.Caption = "C"
Else
Label1.Caption = " "
End If所以执行结果,就象你描述的除了"A"就是空白了。
展开全部
组合框控件应该有Text属性,而选择了某一项,就是相应的Text属性值;
所以:
Private Sub Command1_Click()
Label1.Caption = cOMBO1.TEXT
End Sub
就应该可以了?
所以:
Private Sub Command1_Click()
Label1.Caption = cOMBO1.TEXT
End Sub
就应该可以了?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你也可以这样做
Private Sub Combo1_LostFocus()
Label1.Caption = Combo1.List(Combo1.ListIndex)
End Sub
Private Sub Combo1_LostFocus()
Label1.Caption = Combo1.List(Combo1.ListIndex)
End Sub
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询