在多页用户窗体中,可以使用以下代码解决在应用程序的 EnableEvents 属性设置为 False 时,TextBox_Enter 子程序仍然被触发的问题:
首先,在多页用户窗体的代码模块中声明一个变量,用来标识是否需要处理 TextBox_Enter 事件:
Dim handleEnterEvent As Boolean
然后,在用户窗体的 UserForm_Initialize 事件中将该变量设置为 True:
Private Sub UserForm_Initialize()
handleEnterEvent = True
End Sub
接下来,在 TextBox_Enter 事件中添加条件判断,只有当 handleEnterEvent 的值为 True 时,才执行相应的代码:
Private Sub TextBox_Enter()
If handleEnterEvent Then
' 在这里编写需要执行的代码
End If
End Sub
最后,在需要的时候,将 handleEnterEvent 的值设置为 False,以禁止处理 TextBox_Enter 事件:
Private Sub DisableEnterEvent()
handleEnterEvent = False
End Sub
这样,在应用程序的 EnableEvents 属性设置为 False 时,只要将 handleEnterEvent 的值设置为 False,就可以阻止 TextBox_Enter 事件的处理。
上一篇:Application.Current.Shutdown() C# 应用程序未正确关闭。
下一篇:Application.EnableEvents=True.DoesnotworkwithWorksheet_Activate!Vba