父窗口打开子窗口,在子窗口里设置一个Button的DialogResult为OK。
这个按钮一点,子窗口就退出。问题:
点击这个按钮后检测用户在子窗口的输入,如果出错的话,子窗口就不关闭。如何实现?谢谢。

解决方案 »

  1.   

    那就先不要设置dialogresult;
    点了按钮,先检测,如果没有错误的话,再设置dialogresult;然后再在之后加一行代码:close();
      

  2.   

    在点击button的时候设置一个变量,
    flag = true;
    在formclosing事件里面
    if(flag)
    {
    flag = false;
    e.Cancel = true;
    }
      

  3.   

    不要设置DialogResult,当条件满足需要返回DialogResult.OK时,再在Button的点击事件的最后设置,设置后无需“加一行代码:close();”也会自动关闭当前对话框的。
      

  4.   

    直接在输入控件的Validated验证事件里写
            private void textBox1_Validated(object sender, EventArgs e)
            {
                if()//判断
            }
      

  5.   

    就一楼方法,吧设置DialogResult放在在代码里,检测完毕后再使其为OK
      

  6.   

    //子窗体的button按钮事件
            private void button1_Click(object sender, EventArgs e)
            {
                if (1 = 2)
                    this.DialogResult = DialogResult.OK;
                else
                    MessageBox.Show("1<>2");
            }
      

  7.   

    不要设置按钮的dialogresult
    在按钮的click事件中写:
    if(false == 验证通过())
    {
       MessageBox.Show("验证没有通过");
       return;
    }
    this.DialogResult = DialogResult.OK
      

  8.   

    你是怎么打开窗体的啊
    是用showdialog吗
      

  9.   

    Form1 f1 = new Form1();
    if (f1.ShowDialog() == DialogResult.OK)
    {
        MessageBox.Show("OK");
    }// Form1中,button1_Click事件
    private void button1_Click(object sender, EventArgs e)
    {
        if ( 没出错 )
        {
           this.DialogResult = DialogResult.OK;
           this.Close();
        }
    }