wpf 检查TextBox是否为空

c6ubokkw  于 2022-11-30  发布在  其他
关注(0)|答案(8)|浏览(580)

我有一个TextBox。我想检查它是否为空。
哪种方式更好

if(TextBox.Text.Length == 0)

if(TextBox.Text == '')

yruzcnhs

yruzcnhs1#

您应该使用String.IsNullOrEmpty()来确保它既不为空也不为null(以某种方式):

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

更多示例here
出于实用目的,您也可以考虑使用String.IsNullOrWhitespace(),因为一个期望输入空格的TextBox可能会否定任何目的,除非是让用户为内容选择一个自定义分隔符。

r1zhe5dt

r1zhe5dt2#

我觉得

string.IsNullOrEmpty(TextBox.Text)

string.IsNullOrWhiteSpace(TextBox.Text)

是你最好的选择。

4zcjmb1e

4zcjmb1e3#

如果是XAML格式,可以使用Text属性的IsEmpty来检查TextBox中是否有文本。
结果是它向下冒泡到CollectionView.IsEmpty(不是在string属性上)来提供答案。这个文本框水印的例子,其中显示了两个文本框(在编辑文本框上,一个带有水印文本)。其中第二个文本框(水印文本框)上的样式将绑定到主文本框上的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>
vd2z7a6w

vd2z7a6w4#

您可以将该代码放在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;
wkftcu5l

wkftcu5l5#

另一个道:

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

46qrfjad6#

这里有一个简单的方法

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

y3bcpkx17#

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

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

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

qxgroojn

qxgroojn8#

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

public bool isEmpty()
    {
        bool checkString = txtBox.Text.Any(char.IsDigit);

        if (txtBox.Text == string.Empty)
        {
            return false;
        }
        if (checkString == false)
        {
            return false;
        }
        return true;
    }

相关问题