委托和事件的使用
在基窗口如下定义:
public delegate void CustomWMHandler(int WM_message);
public event CustomWMHandler WMHandler;
protected override void DefWndProc ( ref System.Windows.Forms.Message m )
{
switch (m.Msg)
{
case message.WM_First:
case message.WM_Add:
case message.WM_Delete:
case message.WM_Last:
case message.WM_Next:
case message.WM_Prior:
case message.WM_Redo:
case message.WM_Save:
case message.WM_Undo:
WMHandler(m.Msg);
break;
default:
base.DefWndProc(ref m);//调用基类函数处理非自定义消息。
break;
}
}
如继承窗口中没有定义:WMHandler += new CustomWMHandler(SecurityModuleAppFM_WMHandler);
就会出现:未处理的NullReferenceException
未将对象引用设置到对象的实例。
如何做到像控件的click事件那样,可以不处理些事件而不出现异常?
C# 程序日志记录解决方案