private void buttan_Click_2(object sender, EventArgs e)
{
string a = textBox1.Text;
if (a == "Well")
{
pictureBox1.Visible = false;
}
{
axWindowsMediaPlayer1.URL = @"c:\Users\Galym\Desktop\123.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
}
else
{ MessageBox.Show("Try again");
}
不允许的元素"否则"在表达中 帮我找错误
答案 0 :(得分:1)
看起来if语句的语法有些偏差。
private void buttan_Click_2(object sender, EventArgs e)
{
string a = textBox1.Text;
if (a == "Well")
{
pictureBox1.Visible = false;
axWindowsMediaPlayer1.URL = @"c:\Users\Galym\Desktop\123.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
}
else
{
MessageBox.Show("Try again");
}
假设您想要在命中if语句时运行所有三行代码,那么这应该适合您。
你这样做的方式,编译器并不认为if语句有一个else块,因此它会在else处抛出一个错误,因为它没有被配对。
else语句必须在任何if或者if if之后直接出现。
答案 1 :(得分:1)
您的else
被评估为第二个代码块的else
表达式(括号周围的表达式块),在这种情况下:
{
axWindowsMediaPlayer1.URL = @"c:\Users\Galym\Desktop\123.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
}
由于该块不包含if
(代码中的if
在该块之前),else
无效,这就是编译器所说的。< / p>
如果您希望在if
表达式为真时评估这两行,请执行以下操作:
if (a == "Well")
{
pictureBox1.Visible = false;
axWindowsMediaPlayer1.URL = @"c:\Users\Galym\Desktop\123.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
}
else
{
MessageBox.Show("Try again");
}
否则,如果你绝对想要一个代码块(由于某种原因,虽然该代码中绝对没有),你应该将该块放在另一个块中,如:
if (a == "Well")
{
pictureBox1.Visible = false;
{
axWindowsMediaPlayer1.URL = @"c:\Users\Galym\Desktop\123.mp4";
axWindowsMediaPlayer1.Ctlcontrols.play();
}
}
else
{
MessageBox.Show("Try again");
}
这绝对没有做任何事情(因为你没有任何变量,没有范围问题),但它是合法的。