Form 一般情况下是不能从IMessageFilter继承的,解决办法如下:
public partial class Form1 : Form, IMessageFilter
{
public Form1()
{
}
public Boolean PreFilterMessage( ref Message ByRef)
{
if (ByRef.Msg == 15)
{
this.OnPaint(null);
return true;
}
return false;
}
}
然后在Program.cs里面添加如下代码:注关键性代码已用黑体字表示出来。
static class Program
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Form1 f = new Form1();
Application.AddMessageFilter(f);
Application.Run(f);
}
}
原文链接http://hi.baidu.com/dragonnet/item/08976a18765f916f70d5e8eb