Check属性和CheckState属性是连带变化的,对吗?

iweruew 2014-05-28 09:23:52
我建立一个Winform程序,上面一个CheckBox,一个Button。
实现了3个相应函数,两个CheckBox的,一个Button的:

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
MessageBox.Show("CheckedChanged");
}

private void checkBox1_CheckStateChanged(object sender, EventArgs e)
{
MessageBox.Show("CheckedStateChanged");
}

private void button6_Click(object sender, EventArgs e)
{
this.checkBox1.CheckState = CheckState.Indeterminate;
}

发现,这个button6被Click的时候,先调用Show("CheckedChange"),然后调用Show("CheckedStateChanged")。
也就是说,我即使把CheckState设置成Indeterminate,Checked属性也会变成true。

但是问题是,CheckBox的事件触发顺序我不太理解,为什么是先触发CheckedChanged,然后才是CheckStateChanged?
可我发送的时间是CheckState发生了变化啊。

还请解释一下!
...全文
97 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
黄大仙儿 2014-05-28
  • 打赏
  • 举报
回复
照这个结果看的话 改变CheckState应该会先改变Checked 这是Checked和CheckState的区别 http://bbs.csdn.net/topics/390797698?page=1

110,566

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧