我有这个代码片段:
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);
}
}
当我运行我的程序时,我在该行收到一个 AccessViolationException 错误,base.WndProc(ref m);
我不知道为什么。
显然,这是从 .NET 2.0 移植到 4.0 的,我的理论是现在可能有一种替代方法可以用来代替覆盖 WndProc。是这种情况吗?如果不是,为什么我会收到此异常?