2017-10-18 31 views
-1

我一直在试图修复我的三角形计算器,但我不知道如何和一直在寻找这个论坛一段时间。空文本框 - 返回错误或阻止按钮的方式

我得到了空箱子的问题。当我填充第三个盒子,留下2个空的时候会崩溃,但是如果我从第一个开始,它会像平常一样返回错误。我尝试了许多不同的方法,但仍然无法弄清楚。我只需要

if (textBox1.Text == string.Empty) 
{ 

    errorProvider1.SetError(textBox1, "Enter value"); 

} 
if (textBox2.Text == string.Empty) 
{ 

    errorProvider2.SetError(textBox2, "Enter value"); 

} 
if (textBox3.Text == string.Empty) 
{ 
    errorProvider3.SetError(textBox3, "Enter value"); 
    return; 
} 

@Edit

对不起。

我得到了简单的窗体程序,计算三角形面积,周长等。 只要有空文本框程序就会崩溃。我正在寻找处理这些空盒子的方法。

到目前为止,我设法处理所有三个盒子,但每当有输入时崩溃。

+0

你的问题不清楚你在找什么。请更准确地描述,否则我们将无法为您提供帮助。 –

+0

你的回报应该在外面如果 –

回答

0

它打破的原因是第三个条件是真的,所以它不会进入第三块如果块。因此return将不会被执行,因此所有在if条件下的语句都将被执行。您需要在每个条件内添加return,以便即使1失败,也会打破循环。

 if (textBox1.Text == string.Empty) 
     { 
      errorProvider1.SetError(textBox1, "Enter value"); 
      return; 
     } 
     if (textBox2.Text == string.Empty) 
     { 
      errorProvider2.SetError(textBox2, "Enter value"); 
      return; 
     } 
     if (textBox3.Text == string.Empty) 
     { 
      errorProvider3.SetError(textBox3, "Enter value"); 
      return; 
     } 

如果你想显示所有3个消息,那么你可以添加其他检查,看看是否有任何的文本框为空,并从那里返回。

if (textBox1.Text == string.Empty) 
    { 
     errorProvider1.SetError(textBox1, "Enter value"); 
    } 
    if (textBox2.Text == string.Empty) 
    { 
     errorProvider2.SetError(textBox2, "Enter value"); 
    } 
    if (textBox3.Text == string.Empty) 
    { 
     errorProvider3.SetError(textBox3, "Enter value"); 
    } 

    if(textBox1.Text == string.Empty || textBox1.Text == string.Empty || textBox3.Text == string.Empty) 
    { 
     return; 
    }