2010-06-18 51 views

回答

4

据我所知,不,没有简单的内置方法。我已经能够做的最好的就是在代码改变之前设置一个标志,然后让事件处理程序重置标志并返回。

我想你可以开始检查调用堆栈,看看它是否在你自己的代码中的某个地方发起,但我不确定它值多少钱。

+1

+1写作我即将到来:D – Kyra 2010-06-18 17:33:04

+0

这就是我的想法,但我抱着希望。因为,男人,我讨厌跳过篮筐,不得不跳过(设置标志等)。需要点击click和checkchanged(对于单选按钮)。除非有人告诉我们,否则你很快会有一个绿色的复选标记!谢谢。 – JustLooking 2010-06-18 17:37:37

2

属性更改侦听器不区分属性更改的原因。这是一个常见问题。设置一个标志是做到这一点的方法。

我的确希望有一种方法可以在不触发属性更改事件的情况下设置值。但是,人们争辩说它打破了整个面向对象的模型,因为它有效地允许你直接改变一个字段,而不使用属性。

3

对我来说,'SelectionChangeCommitted'事件更适合我的目的。它会在选择下拉列表中的选择时触发。这是最终用户启动更改时处理特定情况的最简单方法。 SelectedIndexChanged是捕获所有情况。

+0

优秀的答案。不幸的是,对我来说,Visual WebGUI并没有实现这个事件(VWG就像WinForms,但有时候不是)。而且,ListBox的甚至ToolStrip上的ComboBox也会出现同样的问题。尽管如此,仍然是一个很好的答案。谢谢(你的)信息。 – JustLooking 2010-07-21 21:56:52

相关问题