首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ObjectDisposedException时使用IMessageFilter

使用ObjectDisposedException时使用IMessageFilter
EN

Stack Overflow用户
提问于 2016-05-17 16:13:25
回答 1查看 72关注 0票数 0

最近,我遇到了一种情况,我有一个表单,用于截取和处理消息。第一次打开表单时,一切都很好,但是在关闭和打开之后,我会得到一个ObjectDisposedException。

我终于意识到我需要打电话

代码语言:javascript
复制
Application.RemoveMessageFilter(this)

否则,当关闭窗体时,它会继续尝试处理已关闭窗体的消息。我在这里没有看到任何能解决这个问题的问题/答案,所以我想补充一下,以防其他人也有同样的问题。

此外,MSDN上的示例也不显示移除消息筛选器。

代码语言:javascript
复制
public partial class Template_Editor : Form, IMessageFilter
{
    public Template_Editor(ICollection<Vendor> vendorList)
    {
        InitializeComponent();
        Application.AddMessageFilter(this);
    }

    public bool PreFilterMessage(ref Message m)
    {

    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-05-17 16:14:15

一定要打电话

代码语言:javascript
复制
Application.RemoveMessageFilter(this)

完成处理消息后(即关闭表单时)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37281440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档