我有这段代码:
internal class MTool : NativeWindow
{
private const int WM_LBUTTONDOWN = 0x0201;
public event TipDeactivateEventHandler Deactivate;
protected override void WndProc(ref System.Windows.Forms.Message m)
{
if( m.Msg == WM_LBUTTONDOWN )
{
if( this.Deactivate != null)
{
this.Deactivate();
}
}
base.WndProc(ref m);
}
}
当我运行我的程序时,在
base.WndProc(ref m);
这行抛出了AccessViolationException错误,我不知道为什么。显然,这个程序从.NET 2.0移植到4.0,我的理论是现在可能有一种替代的方法来覆盖WndProc。是这种情况吗?如果不是,为什么会抛出这个异常?