如何检查文本框是否仅包含零并显示警告消息?
How to check if textbox contains only zero and display an alert message?
我使用 windows 形式和 C#
。我有一个包含 button1
和 textbox1
的表格。
我想要的是:当我单击 button1
时,如果 textbox1
包含任何零或零(仅零的任意组合),则显示警告消息,例如:
0
00
0000
000
000000000
我尝试了以下代码,但如果 textbox1
有多个零(例如 000)
,它将无法工作
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
MessageBox.Show("Enter Value larger than zero);
}
单击 button1
时,如果 textbox1
具有 零的任意组合 ,我如何获得警报消息?
您可以像这样检查字符串是否只包含零 (0)
var str = "000000000";
var isZero = str.All(c => c == '0');
或 Regex
var isZeroWithRegex = Regex.IsMatch(str, "^0+$");
您可以只使用:
int convertedText=Convert.ToInt32(textBox1.Text);
if(convertedText==0)
{
...
}
您只需 trim 0 个字符,方法如下:
var text1 = "00000000";
var text2 = "00009000";
Console.WriteLine("Text1: {0}", string.IsNullOrWhiteSpace(text1.Trim('0')));
Console.WriteLine("Text2: {0}", string.IsNullOrWhiteSpace(text2.Trim('0')));
哪个returns:
Text1: true
Text2: false //Because we have 9 in the middle of the text.
在你的代码中你会有这样的东西:
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(textBox1.Text.Trim('0'))
MessageBox.Show("Enter Value larger than zero");
}
int value = Convert.ToInt32(textBox1.Text);
if(value ==0)
{
//show
}
else
{
//do something else
}
为此,您可以将该值转换为整数。不过,您可能需要为字符串检查等添加一些验证。
要执行此操作:
private void button1_Click(object sender, EventArgs e)
{
if ( int.Parse(textBox1.Text) == 0)
MessageBox.Show("Enter Value larger than zero");
}
这会将字符串转换为 int,00、000、0000 等等于 0。
我会用我的方式解释。首先,我要替换所有“0”而不是检查长度,因为如果此文本的“0”多于一个不等于 0 的长度,否则长度必须为 0
if(textBox1.Text.Replace("0","").Length==0)
根据问题的内容,您想知道文本框中是否有零。最简单的方法是
if (textBox1.Text.Contains("0"))
MessageBox.Show("Enter Value larger than zero);
但是,如果您想确保该值大于零,请将其转换为 int 并进行检查。
int numberEntered;
if (!int.TryParse(textBox1.Text,out numberEntered)){
//handle conversion error
}
if (numberEntered == 0)
MessageBox.Show("Enter Value larger than zero);`
我使用 windows 形式和 C#
。我有一个包含 button1
和 textbox1
的表格。
我想要的是:当我单击 button1
时,如果 textbox1
包含任何零或零(仅零的任意组合),则显示警告消息,例如:
0
00
0000
000
000000000
我尝试了以下代码,但如果 textbox1
有多个零(例如 000)
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "0")
MessageBox.Show("Enter Value larger than zero);
}
单击 button1
时,如果 textbox1
具有 零的任意组合 ,我如何获得警报消息?
您可以像这样检查字符串是否只包含零 (0)
var str = "000000000";
var isZero = str.All(c => c == '0');
或 Regex
var isZeroWithRegex = Regex.IsMatch(str, "^0+$");
您可以只使用:
int convertedText=Convert.ToInt32(textBox1.Text);
if(convertedText==0)
{
...
}
您只需 trim 0 个字符,方法如下:
var text1 = "00000000";
var text2 = "00009000";
Console.WriteLine("Text1: {0}", string.IsNullOrWhiteSpace(text1.Trim('0')));
Console.WriteLine("Text2: {0}", string.IsNullOrWhiteSpace(text2.Trim('0')));
哪个returns:
Text1: true
Text2: false //Because we have 9 in the middle of the text.
在你的代码中你会有这样的东西:
private void button1_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(textBox1.Text.Trim('0'))
MessageBox.Show("Enter Value larger than zero");
}
int value = Convert.ToInt32(textBox1.Text);
if(value ==0)
{
//show
}
else
{
//do something else
}
为此,您可以将该值转换为整数。不过,您可能需要为字符串检查等添加一些验证。
要执行此操作:
private void button1_Click(object sender, EventArgs e)
{
if ( int.Parse(textBox1.Text) == 0)
MessageBox.Show("Enter Value larger than zero");
}
这会将字符串转换为 int,00、000、0000 等等于 0。
我会用我的方式解释。首先,我要替换所有“0”而不是检查长度,因为如果此文本的“0”多于一个不等于 0 的长度,否则长度必须为 0
if(textBox1.Text.Replace("0","").Length==0)
根据问题的内容,您想知道文本框中是否有零。最简单的方法是
if (textBox1.Text.Contains("0"))
MessageBox.Show("Enter Value larger than zero);
但是,如果您想确保该值大于零,请将其转换为 int 并进行检查。
int numberEntered;
if (!int.TryParse(textBox1.Text,out numberEntered)){
//handle conversion error
}
if (numberEntered == 0)
MessageBox.Show("Enter Value larger than zero);`