检查文本框是否为空
本文关键字:是否 文本 检查 | 更新日期: 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
}
请注意,使用string
和String
之间存在差异
在我看来,检查文本框是否为空+是否只有字母的最简单方法是:
public bool isEmpty()
{
bool checkString = txtBox.Text.Any(char.IsDigit);
if (txtBox.Text == string.Empty)
{
return false;
}
if (checkString == false)
{
return false;
}
return true;
}