TextChanged事件不会在null时触发.没有文本

本文关键字:文本 null 事件 TextChanged | 更新日期: 2023-09-27 17:51:08

有人知道为什么当我从Textbox1中删除所有文本时,它不认为它是一个空值,而是一个空字符串?

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
    }
    private void textBox1_TextChanged(object sender, EventArgs e)
    {
        if (textBox1.Text == null)
        {
            textBox2.Text = "Null";
        }
        else
        {
            textBox2.Text = "Input Positive";
        }
    }
}

TextChanged事件不会在null时触发.没有文本

null与字符串空不同

private void textBox1_TextChanged(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(textBox1.text))
    {
        textBox2.Text = "Null";
    }
    else 
      textBox2.Text = "Input Positive";
}

TextBox.Text不要有任何名为Null的值,而是尝试使用textBox.Text.Length==0textBox.Text==""

 private void textBox1_TextChanged(object sender, EventArgs e)
 {
    if (textBox1.Text.Trim() == "" || textBox1.Text.Length==0)
    {
        textBox2.Text = "Null";
    }
    else textBox2.Text = "Input Positive";
 }

因为textbox.text是一个字符串属性,所以很明显,它将与一个没有null对象的字符串进行比较!你可以试试

if (string.IsNullOrEmpty(textBox1.text))
{}

你可以参考下面的链接:

http://msdn.microsoft.com/en-us/library/system.windows.controls.textbox.text