加载新表单在if语句中有错误?

时间:2016-03-21 19:27:21

标签: c# .net forms if-statement

我在if语句中尝试加载新表单时遇到错误?在frm.show();

的末尾
 if (listBox1.FindString(metroTextBox1.Text) != -1)
            if (listBox2.FindString(metroTextBox2.Text) != -1)
                MessageBox.Show("Found it!");
        Form2 frm = new Form2();
        frm.Show();



        else
        {
        MessageBox.Show("TRY AGAIN");
        }

3 个答案:

答案 0 :(得分:3)

你需要在if块的主体周围使用大括号:

if (listBox1.FindString(metroTextBox1.Text) != -1)
{
    if (listBox2.FindString(metroTextBox2.Text) != -1)
            MessageBox.Show("Found it!");
    Form2 frm = new Form2();
    frm.Show();
}
else
{
    MessageBox.Show("TRY AGAIN");
}

答案 1 :(得分:1)

您的else没有对应的if

frm.Show();
else
{

else 必须if配对,不仅仅是在代码中的结构上,甚至只是在基本逻辑中的语义上。也许你想用括号包围你的一些代码?:

if (listBox1.FindString(metroTextBox1.Text) != -1)
{
    if (listBox2.FindString(metroTextBox2.Text) != -1)
        MessageBox.Show("Found it!");
    Form2 frm = new Form2();
    frm.Show();
}

或者:

if (listBox1.FindString(metroTextBox1.Text) != -1)
    if (listBox2.FindString(metroTextBox2.Text) != -1)
    {
        MessageBox.Show("Found it!");
        Form2 frm = new Form2();
        frm.Show();
    }

您可以自行决定哪些代码行构成if块。但重点是任何给定的else都需要与if配对。它本身不存在。

(注意:使用合理的缩进和其他空格会使代码更具可读性,从而使这样的错误更加明显。)

答案 2 :(得分:1)

格式化并将代码括在{}

之间

实施例

if (listBox1.FindString(metroTextBox1.Text) != -1){
    if (listBox2.FindString(metroTextBox2.Text) != -1){
        MessageBox.Show("Found it!");
    }
    Form2 frm = new Form2();
    frm.Show();
}else{
    MessageBox.Show("TRY AGAIN");
}