我有一个对话框(Form.ShowDialog()),其中有一个按钮我设成了DialogResult=OK
在这个按钮的处理函数中我加入了一些判断,如果发现有些数据没输入则不关掉对话框。
我现在的问题是只要用户按了这个按钮,对话框就被关掉了。

解决方案 »

  1.   

    if( xxx.text == "" )
    return;
      

  2.   

    据说只能在调用它的地方判断,你这样的方式难以实现。if (Form.ShowDialog() == DialogResult.Ok)
    {
        // 你的判断逻辑;
    }
      

  3.   

    不要直接设置DialogResult=OK
    在按钮事件里判断成功再写 this.DialogResult = DialogResult.OK
      
      

  4.   

    private void Body_FormClosing(object sender, FormClosingEventArgs e)
            {
                DialogResult dr = MessageBox.Show("请问是否退出", "提示",     MessageBoxButtons.YesNo);
                if (dr == DialogResult.No)
                {
                    e.Cancel = true;
                }
                else
                {
                    Application.Exit();
                }
            }
      

  5.   

    http://blog.csdn.net/knight94/archive/2006/04/06/652394.aspx