Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 如何使用删除处理程序_Vb.net_Winforms_Devexpress - Fatal编程技术网

Vb.net 如何使用删除处理程序

Vb.net 如何使用删除处理程序,vb.net,winforms,devexpress,Vb.net,Winforms,Devexpress,我不喜欢使用DevExpress控件(这在本例中并不重要)。我有一个lookupEdit控件,我不想触发EditValue\u Changed事件。我可以使用RemoveHandler执行此操作吗?如果是这样,有人能给我一个这样做的代码示例吗?我是否应该将RemoveHandler放入正在创建的用户控件的加载事件中?还是在lookupControl的EditValue\u Changed事件中 这是一个没有回发的WINDOWS应用程序…很抱歉,您无法阻止控件启动回发,但您无法将事件处理程序连接到

我不喜欢使用DevExpress控件(这在本例中并不重要)。我有一个lookupEdit控件,我不想触发EditValue\u Changed事件。我可以使用RemoveHandler执行此操作吗?如果是这样,有人能给我一个这样做的代码示例吗?我是否应该将RemoveHandler放入正在创建的用户控件的加载事件中?还是在lookupControl的EditValue\u Changed事件中


这是一个没有回发的WINDOWS应用程序…很抱歉,您无法阻止控件启动回发,但您无法将事件处理程序连接到控件的事件。你不需要RemoveHandler就可以做到这一点;只是不要依附于事件。。。但问题似乎在于回发,DevExpress应该有一个触发客户端事件的功能,并将所有这些都保留在客户端,而不必担心服务器端回发

如果这没用,你能解释一下这个问题吗


HTH.

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


了解EditValue\u Changed事件在何处触发将很有帮助。如果它在应用程序中启动,那么您必须在设计器或代码中连接它(这意味着您应该能够毫不费力地调用RemoveHandler)。如果该控件属于第三方库并且是自动配置的,则您可能没有此访问权限。

您可以将该控件子类化,并重写触发EditValue\u Changed事件的方法。如果您有权访问源代码,请查找调用源代码的位置以及是否可以覆盖该代码。

fire的意思是回发吗?这是一个win应用程序无回发…很抱歉,没有问题。然而,你面临的根本问题是什么?你只是想关掉收听某个事件,还是有更大的问题?如果是前者,removehandler应该工作;否则,我们需要更多地了解问题以提供帮助。只需关闭收听事件即可。我如何做到这一点,你可以给我一个代码片段。在我想关闭的事件中加载整个表单时,我也会这样做。请参见:,您可以通过希望它发生的任何表单事件来关闭它,因此,如果单击“保存”按钮,您会将它放在那里,然后停止收听该事件。