0

子フォームで CheckBox をトグル ボタン (checkBox.Appearance = Appearance.Button) として使用しています。ユーザーがボタンを押すと、いくつかの基準 (範囲内の温度など) が満たされると、測定サイクルが開始されます。CheckBox.Checked プロパティは、測定が完了するまで true のままです。

たとえば、温度が範囲外の場合、警告が表示され、ボタンがリセットされます。サイクルが正常に終了した場合も同様です。最後に、この自明な関数が呼び出されます。

    /// <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

4 に答える 4

0

DataGridView を除いて、同様の問題が見つかりました。私が見つけた解決策は、次のように、コントロールを無効にしてから、再描画を要求することでした。

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

それを試して、それが修正されるかどうかを確認してください。

于 2013-03-04T09:21:02.560 に答える
0
this.MyCheckBox.Checked=false;
于 2013-03-04T12:17:59.183 に答える