重载C#From的函数
上面的工作需要重载Form的一些函数,这样才能完成,这里首先了解一个知识点:怎么重载Form的函数?
在建立好一个WinForm的工程之后,我们可以用下面的方法找到可以重载的Form方法:
(1)弹出对象浏览器
(2)选择基类型From
(3)对象浏览器设置
(4)加入重载方法,以DefWndProc为例
这样就可以在需要的地方重载这个函数了,这是一个很好的方法。因为方法重载的时候一般不要自己写这个重载的函数,要从基类中copy这个函数。
截获C#Form消息
先来说接受窗体消息,然后根据截获的消息做一些定制的处理。
首先要重载一个WndProc的函数,用于接收消息,同时对消息做相应的处理
然后在这个函数中写消息的处理代码:
protected override void WndProc(ref Message m) { const int WM_SYSCOMMAND = 0x0112; const int SC_CLOSE = 0xF060; if(m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE) { //this.WindowState = FormWindowState.Minimized; this.Hide(); return; } base.WndProc(ref m); }//WndProc()
这个函数知识截获WM_SYSCOMMAND的SC_CLOSE消息,其他的消息还是要交给基类Form的消息处理函数base.WndProc。
时间: 2024-11-06 21:54:59