【发布时间】:2017-04-07 17:05:26
【问题描述】:
在一个 winforms 应用程序中,我遇到了一种情况。 检查某个复选框时,应禁用一个复选框。 我知道这不是一个理想的设计,但目前很大程度上取决于此,所以我想知道如何使下面的代码工作,因为这将是对大型代码库的最小更改。
private void cbCalibrate_CheckedChanged(object sender, EventArgs e)
{
CheckState CalibrationBussy;
CalibrationBussy = cbDenoise.CheckState;
cbDenoise.Checked = false;
cbDenoise.Show(); // the cbDenoise checkbox doesnt change
cbDenoise.CheckState = CalibrationBussy;
cbDenoise.Show();
}
更新我应该使用 Checked 而不是 checkstate 但问题仍然存在。 (因为 Checked 实际上是启用还是禁用),其中 checkedstate 有第三个选项未确定(用户没有触摸控件)。
bool CalibrationBussy;
CalibrationBussy = cbDenoise.Checked;
cbDenoise.Checked =false;
cbDenoise.Show();
cbDenoise.Checked = CalibrationBussy;
cbDenoise.Show();
【问题讨论】: