请问程序为何执行Combo1_Click()这个过程,代码如下:
Private Sub Combo1_Click()
Command1_Click
End Sub
.............
Private Sub Form_Load()
AddCourse
Text2.Text = 1
End SubPrivate Sub Form_Resize()
'Command1.SetFocus
End SubPublic Sub AddCourse()
With Combo1
.........
.ListIndex = 4
End With
End Sub
Private Sub Combo1_Click()
Command1_Click
End Sub
.............
Private Sub Form_Load()
AddCourse
Text2.Text = 1
End SubPrivate Sub Form_Resize()
'Command1.SetFocus
End SubPublic Sub AddCourse()
With Combo1
.........
.ListIndex = 4
End With
End Sub
MsgBox "Command1_Click"
End SubPrivate Sub Command2_Click()
Call Command1_Click
End Sub
Public Sub AddCourse()
With Combo1
.........
.ListIndex = 4
End With
End Sub当你给Combo1.listindex赋值4时,就会执行Combo1.click事件。我的处理方法是,设置一个全局变量,Combo1没有得到焦点时(它不可能被点击)该变量为假,得到焦点时才为真,当Combo1.click需要执行时,须判断这个全局变量是否为真。这样就会避免执行Combo1.click事件
.........
.ListIndex = 4
你的这一句触发了Combo1_Click,Combo1_Click触发了Command1_Click End With
.........
.ListIndex = 4
End With
dim ttag as booleanPrivate Sub Combo1_Click()
If ttag = True And Combo1.Text <> "" Then
List1.AddItem Combo1.Text
End If
End SubPrivate Sub Combo1_GotFocus()
ttag = True
End SubPrivate Sub Combo1_LostFocus()
ttag = False
End Sub