我使用DevExpress控件(这个例子无关紧要)。我有一个lookupEdit控件,我从不希望触发EditValue_Changed事件。我可以使用RemoveHandler来做到这一点吗?如果是这样,有人可以给我一个代码示例吗?我应该将RemoveHandler放在我正在创建的用户控件的load事件中吗?或者它是否在lookupControl的EditValue_Changed事件中?
这是一个WINDOWS APP没有后缀....抱歉
答案 0 :(得分:1)
您可以在添加到您自己的某个类中的对象的任何事件中使用RemoveHandler。如果事件是在您无权访问的类中定义和处理的,则您将无法删除其处理程序事件。
了解此EditValue_Changed事件的触发位置将具有指导意义。如果它在您的应用程序中触发,那么您必须在设计器或代码中连接它(这意味着您应该能够毫无困难地调用RemoveHandler)。如果这属于第三方库并且是自动配置的,则您可能无权访问。
答案 1 :(得分:0)
您无法阻止控件触发回发,但您可以不将事件处理程序连接到控件的事件。你不需要RemoveHandler来做到这一点;只是不要附加到事件...但似乎问题是回发,DevExpress应该有一个功能在那里发起客户端事件,并保持所有在客户端,而不必担心一个服务器端回发。
如果这没有帮助,你能解释一下这个问题吗?
HTH。
答案 2 :(得分:0)
您可以对控件进行子类化并覆盖触发EditValue_Changed事件的方法。如果您有权访问源代码,请查找其被调用的位置以及是否可以覆盖该代码。