【发布时间】:2015-01-25 16:12:47
【问题描述】:
我的目标是当复选框未被选中时,让 label1 在复选框被选中之前返回它的值。
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
{
if
(checkBox1.Checked)
label1.Text = textBox1.Text + label1.Text;
else
label1.Text = label1.Text; //return to previous value?
}
}
上面提到的方式,label1 '粘'到复选框未选中时的值。
我尝试使用 label1.Refresh 但它不起作用。
有没有更有效的方法来获得我正在寻找的结果?
【问题讨论】:
-
这里丢失标签
label1.Text = textBox1.Text + label1.Text;的默认值。您应该将其保存在实例变量中以恢复它。 -
label1.Text = label1.Text;什么都不做,因为标签不知道它曾经是什么——你改变了它。创建一个字符串 var 来保存要恢复到的值 -
您的项目是 WinForms、WPF 还是 Web,还是其他? Giorgos Betsos、Raging Bull 和 Jakob Olsen 提供了一些解决方案,但它们都假设了一个您没有指定的特定环境。
标签: c# checkbox return unchecked