vb 关于combo1.listindex属性,窗口中一个combobox一个commandbutton,代码如下:
PrivateSubCombo1_Change()Combo1.ListIndex=2EndSubPrivateSubCommand1_Click()PrintCombo...
Private Sub Combo1_Change()
Combo1.ListIndex = 2
End Sub
Private Sub Command1_Click()
Print Combo1.ListIndex
End Sub
Private Sub Form_Load()
Combo1.AddItem ("aaa")
Combo1.AddItem ("baa")
Combo1.AddItem ("caa")
Combo1.AddItem ("daa")
End Sub
首先触发combo1的change事件,这时Combo1.ListIndex 就赋值为2,但是为什么点击command1后,屏幕上却显示-1而不是2呢??注意这里是change事件。
那位大神救救我。。。 展开
Combo1.ListIndex = 2
End Sub
Private Sub Command1_Click()
Print Combo1.ListIndex
End Sub
Private Sub Form_Load()
Combo1.AddItem ("aaa")
Combo1.AddItem ("baa")
Combo1.AddItem ("caa")
Combo1.AddItem ("daa")
End Sub
首先触发combo1的change事件,这时Combo1.ListIndex 就赋值为2,但是为什么点击command1后,屏幕上却显示-1而不是2呢??注意这里是change事件。
那位大神救救我。。。 展开
5个回答
展开全部
你是怎么触发Change事件的,这里的代码没有触发该事件。只有在改变Combo1.Text的值时才会触发。比如在load时件中加一句 combo1.listindex=1就会触发它。
追问
通过在combo1的text中输入字符触发的
追答
也许它这么规定,在change结束时就恢复-1了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
change是用键盘触发的,CLICK才是用鼠标触发,点击点击command1并不能触发change事件
更多追问追答
追问
您说的这个我懂。
比如我用键盘在combo1里输入a,那么就触发change事件,这时赋值Combo1.ListIndex = 2。但是点击button后屏幕还是显示-1的。
追答
失去焦点了等于没选中吧,何必纠结这个
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
始终处于Change状态,并且在第三次的时候终止了Change状态,前两次触发的ListIndex属性的变化被清理了,最终并没有触发的ListIndex属性的变化,这可能是控件的问题,你又何必纠结于此...
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Print(Combo1.SelectedIndex)
追问
这个Combo1.SelectedIndex和combo1.ListIndex有什么区别呢?我的vb里好像没有Combo1.SelectedIndex这个属性
追答
看看有没有这个事件
Combo1.SelectedIndexChanged
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-25 · 知道合伙人互联网行家
关注
展开全部
Combo1.ListIndex = 2不成功。
更多追问追答
追问
如果在Combo1.ListIndex = 2后面加一句print Combo1.ListIndex 还是会输出2的,这说明Combo1.ListIndex = 2在这里已经赋值了
追答
经测试,发现change事件是在按键盘的过程中发生的。鼠标操作不会触发。
SelectedIndex是在多选的情况下才有用的。和listbox一样。
经测试,change事件完成后,listIndex的值会恢复为上一次的值。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询