c# - 如何使用 if 和 else 显示/隐藏标签
问题描述
我是一名学生,我正在尝试使用 c#(我是菜鸟)我的代码:
private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text == "test")
{
label1.Show();
label2.Hide();
}
else
label1.Hide();
label2.Show();
}
我的问题是:我有两个标签,一个按钮和一个文本框。
当我点击 TextBox 等于“测试”时,我想显示label1
和隐藏label2
.
如果 TextBox 不包含“测试”,我想隐藏label1
和显示label2
。
现在,当我按下没有文本“test”的按钮时:
label2
显示并label1
隐藏
但是如果文本是“测试”label1
显示并且label2
仍然显示,为什么?
解决方案
正如 JayV 所说,您缺少大括号。仍然会显示的原因label1
(如果您有文本“test”)是因为没有括号,下一个语句将(并且只会)作为Else
(参见https://docs.microsoft.com/en- us/dotnet/csharp/language-reference/keywords/if-else)以及紧接下一条语句之后的任何内容都不是 if-else 的一部分,即您所写的是:
- 如果文本
textbox1
是“测试”,则显示label1
、隐藏label2
。 - 如果文本
textbox1
不是“测试”,则隐藏label1
。 - 不管文本是什么,代码最终都会运行
label2.show
。
实际上你已经写了
if (textBox1.Text == "test")
{
label1.Show();
label2.Hide();
}
else
{
label1.Hide();
}
label2.Show();
当你想要的时候:
if (textBox1.Text == "test")
{
label1.Show();
label2.Hide();
}
else
{
label1.Hide();
label2.Show();
}
我强烈建议您查看调试,因为单步调试代码会很快向您展示这一点(请参阅https://docs.microsoft.com/en-us/visualstudio/debugger/debugger-feature-tour?view=vs-2017)
推荐阅读
- ios - 为什么 UIButton 不返回正确的约束?
- java - Java,尝试根据命令长度创建特定的网络字节头
- intellij-idea - IntelliJ IDEA 快捷键切换2个字
- python - 当我使用 .append 时,MongoDB 每次第二次插入 null
- python - 无法正确下载嵌套表[编辑]
- python - 舍入Series中的值时出现decimal.InvalidOperation错误
- perl - 我使用 LWP::UserAgent 使用 cookie 有什么问题?
- c# - 可编辑组合框无上下文菜单
- regex - 忽略 Powershell RegEx 上的换行符
- vba - 文件重命名期间的 vba 运行时错误 75