如果文本框为空则停止代码
Stop code if textbox is empty
我有一个文本框 tb_weight
作为计算的输入,我编写了一个带有消息框的代码,如果按下计算按钮时文本框为空,该消息框将弹出:
if (string.IsNullOrEmpty(this.tb_weight.Text))
{
MessageBox.Show("Textbox is empty");
}
我有一个单选按钮,对应于一个数字,该数字将与文本框中写入的值相乘。下面是其中一个按钮的代码:
if (rb_wcf1.IsChecked == true)
{
int a = Int32.Parse(tb_weight.Text);
b = (a * 1.03) / 1000;
lbl_wll.Content = Math.Round(b, 2);
}
因此,如果选择了 none 个单选按钮并且文本框中没有文本,则会弹出我的消息框。如果我将文本框留空并选中单选按钮 rb_wcf1
并按下计算按钮,程序将在关闭消息框后失败。我对编程还很陌生,我不确定如何更好地设计这段代码。如果文本框为空且单选按钮已被选中,我不希望单选按钮中的代码启动。谁能给我一些提示或指导?
您已经有一个条件来检查文本框是否为空:
if (string.IsNullOrEmpty(this.tb_weight.Text))
只需使用:
if (!string.IsNullOrEmpty(this.tb_weight.Text))
{
if (rb_wcf1.IsChecked == true)
{
// perform your calculations
}
}
或者反转条件以作为一种保护子句退出方法:
if (!string.IsNullOrEmpty(this.tb_weight.Text))
{
// show message
return;
}
if (rb_wcf1.IsChecked == true)
{
// perform your calculations
}
// etc.
有许多不同的方法来构建您的逻辑,最好的方法是结合个人偏好和您的代码当前的结构(我们无法从这些片段中看到)。但总的来说,您要做的只是检查文本框是否为空,您已经这样做了。
旁注:如果无法将输入解析为整数,Int32.Parse()
会引发异常。您可以试试这个:
int a;
if (!Int32.TryParse(tb_weight.Text, out a))
{
// show an error
return;
}
// continue with your logic
这样,如果无法将输入解析为整数,则会显示友好的错误消息,而不是异常。
您可以在 if
语句中检查多个资源,但是
确保你否定了 IsNullOrEmpty
方法
if (rb_wcf1.IsChecked == true && !string.IsNullOrEmpty(this.tb_weight.Text))
{
int a = Int32.Parse(tb_weight.Text);
b = (a * 1.03) / 1000;
lbl_wll.Content = Math.Round(b, 2);
}
你也可以使用IsNullOrWhitespace
,它也会过滤掉只有空格的字符串,即:“”不是空的,它有空格
我有一个文本框 tb_weight
作为计算的输入,我编写了一个带有消息框的代码,如果按下计算按钮时文本框为空,该消息框将弹出:
if (string.IsNullOrEmpty(this.tb_weight.Text))
{
MessageBox.Show("Textbox is empty");
}
我有一个单选按钮,对应于一个数字,该数字将与文本框中写入的值相乘。下面是其中一个按钮的代码:
if (rb_wcf1.IsChecked == true)
{
int a = Int32.Parse(tb_weight.Text);
b = (a * 1.03) / 1000;
lbl_wll.Content = Math.Round(b, 2);
}
因此,如果选择了 none 个单选按钮并且文本框中没有文本,则会弹出我的消息框。如果我将文本框留空并选中单选按钮 rb_wcf1
并按下计算按钮,程序将在关闭消息框后失败。我对编程还很陌生,我不确定如何更好地设计这段代码。如果文本框为空且单选按钮已被选中,我不希望单选按钮中的代码启动。谁能给我一些提示或指导?
您已经有一个条件来检查文本框是否为空:
if (string.IsNullOrEmpty(this.tb_weight.Text))
只需使用:
if (!string.IsNullOrEmpty(this.tb_weight.Text))
{
if (rb_wcf1.IsChecked == true)
{
// perform your calculations
}
}
或者反转条件以作为一种保护子句退出方法:
if (!string.IsNullOrEmpty(this.tb_weight.Text))
{
// show message
return;
}
if (rb_wcf1.IsChecked == true)
{
// perform your calculations
}
// etc.
有许多不同的方法来构建您的逻辑,最好的方法是结合个人偏好和您的代码当前的结构(我们无法从这些片段中看到)。但总的来说,您要做的只是检查文本框是否为空,您已经这样做了。
旁注:如果无法将输入解析为整数,Int32.Parse()
会引发异常。您可以试试这个:
int a;
if (!Int32.TryParse(tb_weight.Text, out a))
{
// show an error
return;
}
// continue with your logic
这样,如果无法将输入解析为整数,则会显示友好的错误消息,而不是异常。
您可以在 if
语句中检查多个资源,但是
确保你否定了 IsNullOrEmpty
方法
if (rb_wcf1.IsChecked == true && !string.IsNullOrEmpty(this.tb_weight.Text))
{
int a = Int32.Parse(tb_weight.Text);
b = (a * 1.03) / 1000;
lbl_wll.Content = Math.Round(b, 2);
}
你也可以使用IsNullOrWhitespace
,它也会过滤掉只有空格的字符串,即:“”不是空的,它有空格