如何在加载对话框时防止 TextChanged 事件



我的程序中有一个对话框,里面有 2 个文本框;路径前缀。和以下事件。

  Private Sub Path_TextChanged(sender As Object, e As EventArgs) Handles Path.TextChanged
        Prefix.Text = GetDefaultPrefix(Path.Text)
   End Sub

"我的路径"有一个默认值,该值是在显示对话框之前设置的。

我不希望在加载对话框时调用 GetDefaultPrefix ,而仅在更改 Path 值时调用。可以这样做吗?

您可以添加旧的布尔技巧,在其中创建一个设置为 True 的布尔值,在 Load 事件中将值更改为 False,并在 TextChanged 事件中仅在值为 False 时才执行代码:

Private is_startup As Boolean = True
Private Sub FormDialog_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    is_startup = False
End Sub
Private Sub Path_TextChanged(sender As Object, e As EventArgs) Handles Path.TextChanged
    If Not is_startup Then Prefix.Text = GetDefaultPrefix(Path.Text)
End Sub

最新更新