VB中 首次给ComboBox赋值就引起Click事件.无法阻止?

来源:百度知道 编辑:UC知道 时间:2024/06/21 23:20:44
首次中说 Combo5.Enabled = False 应该阻止响应事件的.可是一执行Combo5.ListIndex = 2 就会立刻引起 Combo5_Click() 事件.不知道问题出在哪里? 或者有什么方法达到,只有用户改变ComboBox选项时才引起事件.

我试了一下,果然如你所说.我也不知道问题出在哪.
要想用户改变选项时才引起事件,方法是有的:
Dim Clicked As Boolean '定义一个布尔变量,True:程序改变;False:用户改变.
Private Sub Combo5_Click()

If Clicked Then Clicked = False: Exit Sub '如果Clicked=True则退出此事件

MsgBox "User Clicked!" '如果Clicked为flase,说明是用户改变的,继续往下执行

'......

End Sub

Private Sub Command1_Click()'这是点击按钮1事件,程序改变ListIndex的值.
Clicked = True '改变ListIndex前先设置Clicked=True
Combo5.ListIndex = 1 '程序执行到此处时会立即调用Combo5_Click事件
End Sub

---------
这样的话每次改变Combo5.ListIndex时先执行Clicked = True,这样就实现你的要求啦.