【问题标题】:TextBox TextChanged event fired issue when MainWindow load event exist当 MainWindow 加载事件存在时,TextBox TextChanged 事件触发问题
【发布时间】:2017-09-13 01:09:27
【问题描述】:

下图是我的项目。

这是我的项目代码,可满足您的测试需求。

<Window x:Class="MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
Title="MainWindow" Height="150" Width="400">
<Grid>
    <TextBox Name="TextBox1" Width="200" Height="30" HorizontalAlignment="Left" Background="Pink" />
    <Button Name="Button1" Content="Button1" Width="125" Height="30" HorizontalAlignment="Right" IsEnabled="False" />
</Grid>
</Window>

...

Class MainWindow 

Private Sub MainWindow_Loaded(sender As Object, e As System.Windows.RoutedEventArgs) Handles Me.Loaded
    TextBox1.Text = "Hello"
End Sub

Private Sub TextBox1_TextChanged(sender As System.Object, e As System.Windows.Controls.TextChangedEventArgs) Handles TextBox1.TextChanged
    Button1.IsEnabled = True
End Sub

End Class

当我运行上面的代码时,由于 MainWindow_Loaded 事件触发了 TextBox1_TextChanged 事件。

您知道如何在 MainWindow_Loaded 之后触发 TextBox1_TextChanged 事件吗?

【问题讨论】:

    标签: c# wpf vb.net winforms


    【解决方案1】:

    当 textbo1 生成其文本属性更改并触发事件时。您可以像这样加载表单后将事件处理程序添加到 textbox1

    Public Class Form1
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        AddHandler TextBox1.TextChanged, AddressOf TextBox1_TextChanged
    End Sub
    Private Sub TextBox1_TextChanged()
        Button1.Enabled = True
    End Sub End Class
    

    【讨论】:

      【解决方案2】:

      如果仅当文本框包含一些文本时才启用按钮,则需要在事件处理程序中进行检查。如果您需要任何其他验证,也可以在这里进行。

      Private Sub TextBox1_TextChanged(sender As Object, e As TextChangedEventArgs) Handles TextBox1.TextChanged
          Button1.IsEnabled = (TextBox1.Text.Length > 0)
      End Sub
      

      【讨论】:

        【解决方案3】:

        解决了。

        Private Sub TextBox1_TextChanged(sender As System.Object, e As System.Windows.Controls.TextChangedEventArgs) Handles TextBox1.TextChanged
            If TextBox1.IsFocused Then
                Button1.IsEnabled = True
            End If
        End Sub
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2011-03-06
          • 1970-01-01
          • 1970-01-01
          • 2015-03-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多