C#的窗体重写问题

有时候,我们点击某个窗体的“叉”号,C#中默认是执行的窗体Close,于是我们还想再Show的时候就会报错,所以我们需要重写WndProc使其点叉时变成隐藏hide,而不是close,具体代码如下:

 protected override void WndProc(ref   Message m)//重写窗体。为了实现点叉时隐藏窗体而不是close窗体
        {
            const int WM_SYSCOMMAND = 0x0112;
            const int SC_CLOSE = 0xF060;
            if (m.Msg == WM_SYSCOMMAND && (int)m.WParam == SC_CLOSE)
            {
                //捕捉关闭窗体消息      
                this.Hide();
                return;
            }
            base.WndProc(ref   m);
        }

原文地址:https://www.cnblogs.com/soundcode/p/13625731.html