日期:2014-05-18  浏览次数:20842 次

委托和事件的使用
在基窗口如下定义:
                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# 程序日志记录解决方案