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

时间:2018-01-19 15:49:34

标签: vb.net textchanged

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

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

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

我不希望在加载对话框时调用 GetDefaultPrefix ,但之后只在更改Path值时调用。是否可以这样做?

1 个答案:

答案 0 :(得分:2)

你可以添加旧的布尔hack,你在其中创建一个设置为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