CheckBox不会更新

时间:2013-03-04 09:09:39

标签: c# winforms checkbox

我在子窗体中使用CheckBox作为切换按钮(checkBox.Appearance = Appearance.Button)。如果用户按下按钮,则在满足某些标准(例如,温度在范围内)时将开始测量循环。在测量完成之前,CheckBox.Checked属性保持为真。

如果是如果温度超出范围,则会出现警告,并且按钮将被重置。如果循环正常结束,也会发生同样的情况最后,这个自解释函数被称为:

    /// <summary>
    /// Resets the button states to false
    /// </summary>
    public void ResetButton()
    {
        checkBox_Start.Checked = false;
    }

现在,在调试时,我看到CheckBox_Start.Checked属性为false并保持为false。但UI未显示实际值。它似乎仍在检查中。我在所有级别上都尝试过Refresh()和Update()。

有没有人有想法?什么可能阻止UI显示实际值?

4 个答案:

答案 0 :(得分:0)

我发现了一个类似的问题,除了DataGridView。我找到的解决方案是使控件无效,然后请求重绘,如下所示:

public void ResetButton()
{
    checkBox_Start.Checked = false;
    checkBox_Start.Invalidate();
    checkBox_Start.Update();
}

试试看,看看它是否修复了它。

答案 1 :(得分:0)

this.MyCheckBox.Checked=false;

答案 2 :(得分:0)

我有同样的问题,在CheckBox属性和方法上花了一些时间后,我终于意识到我初始化这个控件的地方不合适。我正在使用一个半框架,在某些情况下,这个代码中没有。我用这个简单的属性:  checkBox_Start.Checked = false;

答案 3 :(得分:0)

确保没有两次运行InitializeComponent。 这将导致最初的发布者的控制行为。