【发布时间】:2015-08-02 23:52:38
【问题描述】:
我有一个Control,比如DataGridView,并为此声明了几个事件。
例如: CellEndEdit, CellLeave, RowLeave, RowsAdded, SelectionChanged, ... .
现在,当我想在网格中插入几条记录时,还有SelectionChanged,因为它们每一条都被执行,而我不想调用SelectionChanged事件! 这只是我在事件中遇到的问题的一个例子。
总之,我的问题是,如何知道这个事件处理的原因是用户还是应用程序方法被执行了? 换句话说,如何知道这个SelectionChanged 事件是由用户运行的还是由一个称为那个的方法运行的?
【问题讨论】:
-
使用布尔标志指示事件是从方法调用中触发的
-
@SriramSakthivel 这不是个好主意,用标志字段填写所有项目!
-
没有其他通用方法可以解决您的问题。如果你找到了请告诉我。谢谢。
-
@SriramSakthivel 我需要一个处理程序和侦听器方法之间的接口方法。例如:
myControl.SelectionChanged += (s, e) => JustCallByUser(myControl_SelectionChanged(s, e))。非常感谢您的回答。
标签: c# winforms events controls