Ben*_*nny 3 c# checkbox winforms
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;
}
Run Code Online (Sandbox Code Playgroud)
我在load事件处理程序中设置了检查状态,为什么在这种情况下,CheckedChanged没有被触发?如果我单击复选框,则会触发CheckedChanged.
如果最初检查状态false,则false再次将其设置为不会触发CheckedChanged事件.
这是因为检查状态实际上没有改变
这是尝试设置CheckBox1.Checked属性时使用的内部代码
public void set_Checked(bool value)
{
if (value != this.Checked)
{
this.CheckState = value ? CheckState.Checked : CheckState.Unchecked;
}
}
Run Code Online (Sandbox Code Playgroud)