IMessageFilter不允许我输入文本框

时间:2012-06-06 17:33:05

标签: c# .net input

我的Windows窗体应用程序具有IMessageFilter功能。它似乎有效,除了它捕获了用于输入文本框的关键事件。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:3)

当您实现IMessageFilter并调用Application.AddMessageFilter()时,您会在每个每个控件的排队输入消息的所有 >您创建的表单。这完全是使用界面的重点。您可以按方法名称的建议过滤PreFilterMessage()方法,在Message.HWnd参数中提供控件的窗口句柄。您可以将其与特定控件的Handle属性进行比较。或者,您可以使用Control.FromHandle()来获取对将要获取消息的控件的引用。从方法中返回false以防止邮件得到进一步处理。