.NET 4.0 - AccessViolationException и WndProc
У меня есть этот фрагмент кода:
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. Это случай? Если нет, почему я получаю это исключение?