在RadioBox中设置Checked属性时,是否可以取消CheckChanged事件?

gen*_*ess 6 .net c# winforms

我是C#和Windows Form的新手,但是如果我有一个radiobutton并且我调用radiobutton1.Checked = true,它是否有办法不触发CheckedChange事件?我想区分用户点击radiobutton和我以编程方式设置radiobutton.这可能吗?

Ben*_*igt 6

不要试图打败CheckedChanged事件的设计.它特别应该包括程序化的变化.

如果您需要用户触发的更改而不是编程更改,请改用Click事件.(你可能认为你不想限制自己点击鼠标,不用担心,有一个MouseClick事件,Click包括键盘更改.)


Ste*_*owe 1

为什么你的代码应该关心谁检查了单选按钮?

编辑:有很多方法可以解决这个问题(子类,标志),但不要。我能想到的唯一“合法”原因是为了防止在最初(以编程方式)显示该值时发生一些副作用,甚至这是可疑的。重新思考副作用,它真的属于更改事件还是提交?

更多信息一为什么/什么会有帮助。从表面上看,这看起来像是一个设计错误。