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

Check属性和CheckState属性是连带变化的,对吗?
我建立一个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发生了变化啊。

还请解释一下!
------解决方案--------------------
照这个结果看的话 改变CheckState应该会先改变Checked
这是Checked和CheckState的区别
http://bbs.****.net/topics/390797698?page=1