检查文本框是否为空

本文关键字:是否 文本 检查 | 更新日期: 2023-09-27 18:26:59

我有一个TextBox。我想检查一下它是否是空的。

哪种方式更好

if(TextBox.Text.Length == 0)

if(TextBox.Text == '')

检查文本框是否为空

您应该使用String.IsNullOrEmpty()来确保它既不为空也不为空(不知何故):

if (string.IsNullOrEmpty(textBox1.Text))
{
    // Do something...
}

这里有更多的例子。

出于实际目的,您也可以考虑使用String.IsNullOrWhitespace(),因为期望空白作为输入的TextBox可能会否定任何目的,除非允许用户为内容选择自定义分隔符。

我认为

string.IsNullOrEmpty(TextBox.Text)

string.IsNullOrWhiteSpace(TextBox.Text)

是您的最佳选择。

如果在XAML中,则可以通过使用Text属性之外的IsEmpty来检查TextBox中是否存在文本。

事实证明,它向下冒泡到CollectionView.IsEmpty(不在字符串属性上)来提供答案。这是一个文本框水印的例子,其中显示了两个文本框(在编辑文本框和带有水印文本的文本框上)。其中,第二个文本框(水印框)上的样式将绑定到主文本框上的Text,并相应地打开/关闭。

<TextBox.Style>
    <Style TargetType="TextBox">
        <Style.Triggers>
            <MultiDataTrigger>
                <MultiDataTrigger.Conditions>
                    <Condition Binding="{Binding ElementName=tEnterTextTextBox, Path=IsKeyboardFocusWithin}" Value="False" />
                    <Condition Binding="{Binding ElementName=tEnterTextTextBox, Path=Text.IsEmpty}" Value="True" />
                </MultiDataTrigger.Conditions>
                <Setter Property="Visibility" Value="Visible" />
            </MultiDataTrigger>
            <DataTrigger Binding="{Binding ElementName=tEnterTextTextBox, Path=IsKeyboardFocusWithin}" Value="True">
                <Setter Property="Visibility" Value="Hidden" />
            </DataTrigger>
            <DataTrigger Binding="{Binding ElementName=tEnterTextTextBox, Path=Text.IsEmpty}" Value="False">
                <Setter Property="Visibility" Value="Hidden" />
            </DataTrigger>
        </Style.Triggers>
    </Style>
</TextBox.Style>

  • CollectionView.IsEmpty解释
  • 当用户键入(答案)时,帮助文本水印消失(这是我在上面给出的部分答案中使用的完整示例)

您可以将该代码放入ButtonClick事件或任何事件中:

//Array for all or some of the TextBox on the Form
TextBox[] textBox = { txtFName, txtLName, txtBalance };
//foreach loop for check TextBox is empty
foreach (TextBox txt in textBox)
{
    if (string.IsNullOrWhiteSpace(txt.Text))
    {
        MessageBox.Show("The TextBox is empty!");
        break;
    }
}
return;

另一种方式:

    if(textBox1.TextLength == 0)
    {
       MessageBox.Show("The texbox is empty!");
    }

这里有一个简单的方法

If(txtTextBox1.Text ==“”)
{
MessageBox.Show("The TextBox is empty!");
}

Farhan的答案是最好的,我想补充一点,如果你需要满足这两个条件,添加OR运算符可以工作,如下所示:

if (string.IsNullOrEmpty(text.Text) || string.IsNullOrWhiteSpace(text.Text))
{
  //Code
}

请注意,使用stringString 之间存在差异

在我看来,检查文本框是否为空+是否只有字母的最简单方法是:

public bool isEmpty()
    {
        bool checkString = txtBox.Text.Any(char.IsDigit);
        if (txtBox.Text == string.Empty)
        {
            return false;
        }
        if (checkString == false)
        {
            return false;
        }
        return true;
    }