我的目标是取消选中复选框,让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?
}
}
上面提到的方式,标签1'棍棒'取消选中复选框时的值。
我尝试使用label1.Refresh,但它没有用。
是否有更有效的方法来获得我正在寻找的结果?
答案 0 :(得分:1)
在更新之前保存该值。然后在未选中时恢复。
private string _lastValue = string.Empty;
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
{
if
(checkBox1.Checked)
{
_lastValue = label1.Text;
label1.Text = textBox1.Text + label1.Text;
}
else
label1.Text = _lastValue;
}
}
答案 1 :(得分:0)
只需使用变量来存储标签的先前值。
string DefaultLabelValue="";
private void Form1_Load(object sender, EventArgs e)
{
DefaultLabelValue=lable1.Text;
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if (checkBox1.Checked)
label1.Text = textBox1.Text + label1.Text;
else
label1.Text = DefautLabelValue;
}