Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hWnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_SETCURSEL = &H186
Private Const LB_GETCURSEL = &H188
Sub SetListIndex(ByVal Index As Long)
SendMessage List1.hWnd, LB_SETCURSEL, Index, 0&
SendMessage List1.hWnd, LB_GETCURSEL, Index, 0&
End Sub
Private Sub Form_Load()
Dim i As Long
For i = 1 To 10
List1.AddItem i
Next
'List1.ListIndex = 3 '引发List1_Click
SetListIndex 3 '不引发List1_Click
End Sub
Private Sub List1_Click()
MsgBox List1.List(List1.ListIndex)
End Sub