如何使用删除处理程序

时间:2010-11-02 18:02:51

标签: vb.net winforms devexpress

我使用DevExpress控件(这个例子无关紧要)。我有一个lookupEdit控件,我从不希望触发EditValue_Changed事件。我可以使用RemoveHandler来做到这一点吗?如果是这样,有人可以给我一个代码示例吗?我应该将RemoveHandler放在我正在创建的用户控件的load事件中吗?或者它是否在lookupControl的EditValue_Changed事件中?

这是一个WINDOWS APP没有后缀....抱歉

3 个答案:

答案 0 :(得分:1)

您可以在添加到您自己的某个类中的对象的任何事件中使用RemoveHandler。如果事件是在您无权访问的类中定义和处理的,则您将无法删除其处理程序事件。

了解此EditValue_Changed事件的触发位置将具有指导意义。如果它在您的应用程序中触发,那么您必须在设计器或代码中连接它(这意味着您应该能够毫无困难地调用RemoveHandler)。如果这属于第三方库并且是自动配置的,则您可能无权访问。

答案 1 :(得分:0)

您无法阻止控件触发回发,但您可以不将事件处理程序连接到控件的事件。你不需要RemoveHandler来做到这一点;只是不要附加到事件...但似乎问题是回发,DevExpress应该有一个功能在那里发起客户端事件,并保持所有在客户端,而不必担心一个服务器端回发。

如果这没有帮助,你能解释一下这个问题吗?

HTH。

答案 2 :(得分:0)

您可以对控件进行子类化并覆盖触发EditValue_Changed事件的方法。如果您有权访问源代码,请查找其被调用的位置以及是否可以覆盖该代码。