我想达到的效果是:选择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一直都没有显示,什么原因?
展开
 我来答
HotMousE
2013-05-31 · TA获得超过146个赞
知道小有建树答主
回答量:212
采纳率:100%
帮助的人:178万
展开全部

用我这段就可以喽。

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

 

至于你的问题是出在

  1. 你的Combo里的数据应该就是 A、B、C、...
    这样的情况下。如
    选择第一个,则 Combo1.ListIndex = 0
    选择第二个,则 Combo1.ListIndex = 1

  2. 同时你应该没有标记 Option Explicit 也没有去声明变量A,B,C的类型。
    这样你的变量 A, B, C 就有可能是默认值 0

  3. 由于以上两点,看起来你的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
  4. 所以执行结果,就象你描述的除了"A"就是空白了。

syx54
2013-05-31 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2755万
展开全部
组合框控件应该有Text属性,而选择了某一项,就是相应的Text属性值;
所以:
Private Sub Command1_Click()

Label1.Caption = cOMBO1.TEXT
End Sub

就应该可以了?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-05-31 · TA获得超过242个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:267万
展开全部
你也可以这样做
Private Sub Combo1_LostFocus()
Label1.Caption = Combo1.List(Combo1.ListIndex)
End Sub
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式