vb 中exit sub 的问题
发布网友
发布时间:2022-05-10 16:52
我来回答
共4个回答
热心网友
时间:2023-10-17 05:24
第二个的错误在于如果项目存在,有可能还会添加,例如:
Combo1.Text =“A”
第一项是“A”
第二项是“B”
第三项是“A”
.....
第N-1项是“C”
第N项是“A”
在检测到第二项,由于不是A,就会添加一个A,检测到第N-1项,由于不是A,再增加一个A等等,因此,凡是和Combo1.Text 内容不符的项目就会添加。
第一个程序就不存在这个问题,当检测到项目存在就退出这个过程(注意:Exit Sub是退出过程,不是退出循环,退出循环是Exit For),因此不会再添加新的项目了。
热心网友
时间:2023-10-17 05:24
Exit sub是退出过程,答案已经知道了(知道输入项已在组合框中)就没必要再试其他的了。
当然你继续试也可以,不过那将浪费很多的系统资源和时间
热心网友
时间:2023-10-17 05:24
不退出循环的话,即使走到if里面把caption设成了 "输入项已在组合框中" ,也会在下一次循环的时候跑到else里面去,做Combo1.AddItem Combo1.Text 和Label2.Caption = "已成功添加输入"。
不用exit sub的话,可以用exit for试试。
Private Sub Combo1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
For i = 0 To Combo1.ListCount - 1
If Combo1.Text = Combo1.List(i) Then
Label2.Caption = "输入项已在组合框中"
Exit For
End if
Next i
'输入项不存在组合框中
If i = Combo1.ListCount Then
Label2.Caption = "已成功添加输入"
Combo1.AddItem Combo1.Text
End If
End If
End Sub
热心网友
时间:2023-10-17 05:25
exit sub 是使程序退出此过程