VR4*_*tor 0 c# if-statement winforms
我是一名学生,正在尝试 c#(我是菜鸟)我的代码:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "test")
{
label1.Show();
label2.Hide();
}
else
label1.Hide();
label2.Show();
}
Run Code Online (Sandbox Code Playgroud)
我的问题是这样的:我有两个标签,一个按钮和一个文本框。
当 TextBox 等于“test”时,如果我单击它,我想显示label1和隐藏label2。
如果文本框不包含“test”,我想隐藏label1并显示label2。
现在,当我按下没有文本“test”的按钮时:
label2显示并label1隐藏
但如果文本是“test”label1显示并且label2仍然显示,为什么?
正如 JayV 所说,你缺少大括号。仍然会显示的原因label1(如果您有文本“test”)是因为如果没有括号,下一个语句将(并且只会)作为Else(参见https://learn.microsoft.com/en- us/dotnet/csharp/language-reference/keywords/if-else)以及紧接着的下一个语句之后的任何内容都不是 if-else 的一部分,即您所写的是:
textbox1为“test”,则显示label1、隐藏label2。textbox1不是“test”,则隐藏label1。label2.show.实际上你已经写了
if (textBox1.Text == "test")
{
label1.Show();
label2.Hide();
}
else
{
label1.Hide();
}
label2.Show();
Run Code Online (Sandbox Code Playgroud)
当你想要的时候:
if (textBox1.Text == "test")
{
label1.Show();
label2.Hide();
}
else
{
label1.Hide();
label2.Show();
}
Run Code Online (Sandbox Code Playgroud)
我强烈建议您查看调试,因为逐步执行代码会快速向您展示这一点(请参阅https://learn.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2017)