4
 public Form1()
    {
        InitializeComponent();
    }

    private void checkBox1_CheckedChanged(object sender, EventArgs e)
    {
        textBox1.Enabled = checkBox1.Checked;
    }

    private void Form1_Load(object sender, EventArgs e)
    {
        checkBox1.Checked = false;
    }

load イベント ハンドラーでチェック状態を設定しましたが、この場合、CheckedChanged が起動されないのはなぜですか? チェックボックスをクリックすると、CheckedChanged が発生します。

4

1 に答える 1

7

チェックされた状態が最初の場合false、それを再度設定してもイベントfalseは発生しません。 これは、チェックされた状態が実際には変更されていないために発生しますCheckedChanged

CheckBox1.Checkedこれは、プロパティを設定しようとするときに使用される内部コードです

public void set_Checked(bool value)
{
    if (value != this.Checked)
    {
        this.CheckState = value ? CheckState.Checked : CheckState.Unchecked;
    }
}
于 2012-08-09T07:28:54.733 に答える