vb combobox 中的selectedindexchanged 事件
combobox再触发selectedindexchanged 事件时,判断messagebox的结果,当选择yes时,才改变selectedindex
2013-01-28 10:02
2013-01-28 17:41
2013-01-28 18:55
程序代码:Option Explicit
' 是否第一次改变.
Dim blnFirstChanged As Boolean
' 是否跳过单击事件.
Dim blnJumpClickEvent As Boolean
' ComboBox 下拉列表改变之前的索引号.
Dim intListIndexBeforeChanging As Integer
Private Sub Combo1_Click()
' /* 如果第一次改变. */
If blnFirstChanged Then
blnFirstChanged = False
Exit Sub
Else
If blnJumpClickEvent Then
blnJumpClickEvent = False
Exit Sub
Else
If MsgBox("是否改变下拉列表框的索引?", vbQuestion + vbYesNo) = vbNo Then
blnJumpClickEvent = True
Combo1.ListIndex = intListIndexBeforeChanging
Else
' 改变后的下拉列表索引号就是下一次改变之前的索引号.
intListIndexBeforeChanging = Combo1.ListIndex
End If
End If
End If
End Sub
Private Sub Form_Load()
' /* 添加测试数据. */
With Combo1
.AddItem "MBC"
.AddItem "KBS"
.AddItem "SBS"
.AddItem "TJB"
' 防止第一次改变时触发 ComboBox 的 Click 事件.
blnFirstChanged = True
.ListIndex = 0
intListIndexBeforeChanging = .ListIndex
blnJumpClickEvent = False
End With
End Sub
2013-01-31 16:53
2013-02-01 09:18
2013-02-01 19:00
2013-02-01 19:03
2013-02-04 04:51
2013-02-04 11:56
2013-02-04 11:58