form上有一个关闭按钮  里面就一句代码   this.close().  然后我想要区分是点击关闭按钮的关闭还是点击Form上的×的关闭。
哪位高人知道。赐教。

解决方案 »

  1.   

    在回调函数中处理用 WM_COMMAND WM_CLOSE 消息还是楼上的方法简单啊
      

  2.   

    实现这个其实很简单,捕获窗体关闭时的消息就能够了。代码如下:
    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)
    {
    MessageBox.Show("用户点了关闭按纽了");
    return;
    }
    base.WndProc(ref m);
    }点击Form上的×的关闭就会引发MessageBox.Show("用户点了关闭按纽了");
    点击关闭按钮的关闭则不会