当标签上的文字发生变化时,如何单独取消选中复选框?
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if(Price.Text == "?" ){ checkBox1.Checked = false}
}
我不知道应该把什么放在“?”
中答案 0 :(得分:3)
您应该处理标签的For Each ws In ActiveWorkbook.Worksheets
Set rng = ws.Range("A1:C500")
rng.Value = rng.Value
Next ws
事件:
TextChanged
答案 1 :(得分:0)
创建一个公共bool类型变量
public bool DirtyBool = false;
无论您何时编写了更改标签值的代码,您都可以像这样创建一个类型为bool的新变量。
DirtyBool = true;
你可以这样做
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
if(DirtyBool){ checkBox1.Checked = false; }
}
BTW CheckedChanged
事件只有在选中或取消选中复选框时才会被触发,因此@Reza Aghaei提供的答案将更适合您的情况。
答案 2 :(得分:0)
您在CheckBox.CheckedChanged事件中触发了检查检查。您必须在Label的TextChanged事件中触发它。 Reza的答案不完整,所以你应该这样做:
YourLabel.TextChanged += (s, e) =>
{
if(YourLabel.Text == "?") yourCheckBox.Checked = false;
else yourCheckBox.Checked = true;
};