在多页用户窗体中,可以使用以下代码解决在应用程序的 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