首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

为何Combo1_DblClick(Index As Integer)事件中 Combo1(Index).ListIndex = -1 不管用

2013-07-21 
为什么Combo1_DblClick(Index As Integer)事件中 Combo1(Index).ListIndex -1 不管用本帖最后由 bcrun

为什么Combo1_DblClick(Index As Integer)事件中 Combo1(Index).ListIndex = -1 不管用
本帖最后由 bcrun 于 2013-06-11 09:48:35 编辑

Private Sub Combo1_DblClick(Index As Integer)
On Error GoTo Errc

    Combo1(Index).ListIndex = -1

Exit Sub
Errc:
   MsgBox Err.Description
End Sub


以上代码 当在COMBO1上双击时,无响应,好象Combo1_DblClick这个事件没有发生,是怎么回事

COMBO1 STYLE  0 和 1 方式都试过了。
[解决办法]
因为点的不是地方,无意中重新选中了。你试试:

Option Explicit

Private Sub Form_Load()
Dim i As Integer

For i = 1 To 10
    List1.AddItem i
Next i
List1.ListIndex = 9
End Sub

Private Sub Command1_Click()
On Error GoTo Errc

    List1.ListIndex = -1

Exit Sub
Errc:
   MsgBox Err.Description
End Sub

[解决办法]
为了你便于观察。你自己改了试试吧。

[解决办法]
窗体上加一个 TextBox, 其 TabIndex 设置为 0。
Option Explicit
Private Sub Combo1_GotFocus()
On Error GoTo Errc

    Combo1.ListIndex = -1

Exit Sub
Errc:
   MsgBox Err.Description
End Sub

Private Sub Command1_Click()
    MsgBox Combo1.ListIndex
End Sub

Private Sub Form_Load()
Dim i As Integer

For i = 1 To 10
    Combo1.AddItem i
Next i

Combo1.ListIndex = 9
End Sub


程序启动后,可以看到 Combo1 的 Text 是 10。点击 Command1 将得 9。按 Tab 键使焦点移到 Combo1 上,可以看到 Combo1 的 Text 变空。此时点击 Command1 将得到 -1。


[解决办法]
ComboBox 的所有鼠标事件,都定义为在下拉的列表上才生效。你在你的代码 Combo1(Index).ListIndex = -1 处打个断点,你看会停在这里吗?




[解决办法]
对呀!那就不要用 ComboBox Click 之类的事件来做此事。
[解决办法]
COMBO一般用click事件。

热点排行