我正在尝试设置一个标志,说明该Checked属性的最后一次更改是由用户还是程序引起的。
我正在使用自定义RadioButton:
public class MyRadioButton : RadioButton
{
ValueChanger valueChanger = ValueChanger.Program;
public MyRadioButton()
{
this.Click += OnButtonClickedByUser;
this.CheckedChanged += OnCheckChange;
}
public void setChecked(bool val)
{
this.valueChanger = ValueChanger.Program;
this.Checked = val;
}
void OnButtonClickedByUser(Object sender, EventArgs e)
{
this.valueChanger = ValueChanger.User;
}
void OnCheckChange(Object sender, EventArgs e)
{
// do stuff depending on 'this.valueChanger'
}
enum ValueChanger
{
User,
Program
};
}
setChecked每当由于从串行连接收到消息而更改值时,我都会调用,并且我希望OnButtonClickedByUser在Click通过 UI 更改值时由事件调用。
我的问题是CheckedChanged事件在事件之前触发Click,这使得OnCheckChange不可靠。
有什么办法可以解决这个问题吗?
RISEBY
相关分类