有一个控件有validating事件,其中验证错误会有对话框弹出。
    我把form的causesvalidation设为false,而且在closing事件中写了e.cancel=false;
   但是validation还是执行并有对话框弹出来,所以有没有能够判断点击关闭按钮

解决方案 »

  1.   

    FormClosing 事件的触发
    我这有个确认关闭的例子 :
            private void frmMain_FormClosing(object sender, FormClosingEventArgs e)
            {
                DialogResult res = MessageBox.Show("真 的 要 关 闭?", "提示",    MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                if (res == DialogResult.OK)
                {
                    this.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))
                {
                    //点击winform右上关闭按钮            }
                base.WndProc(ref   m);
            }
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) 
    http://feiyun0112.cnblogs.com/
      

  3.   

       楼上2位看来是没有明白我的意思 我的意思是我在一个控件中有validating事件,这个事件是在FormClosing 事件之前执行的,他会弹出一个MESSAGEBOX,我是想在validating事件中做个判断,如果是点击的关闭按钮,就不弹MESSAGEBOX。如果要是写在FormClosing 事件中的话,那还是会弹出对话框的
      

  4.   


    OK 搞定 feiyun0112  谢谢啦