Form1上有一个Button,事件如下:
      private void button1_Click(object sender, EventArgs e)
        {
            Form2 f = new Form2();
           DialogResult re= f.ShowDialog();
            MessageBox.Show(re.ToString());
        }Form2上有一个Button1(确定),一个取消按钮,还有一个文本框private void button1_Click(object sender, EventArgs e)
        {
            if (textBox1.Text == "")
            {
                MessageBox.Show("不能为空!");
                return;
            }
            button1.DialogResult = DialogResult.OK;
        }        private void button2_Click(object sender, EventArgs e)
        {
            this.Close();
        }
在Form2中,文本框中输入内容,为什么点两次“确定”按钮才退出Form2?
看看以上代码有什么问题?
再问个问题:
如果在Form2的窗体中“确定”按钮的事件中,最后一行再加上一行代码:
this.Close()
为什么 Button的返回值却成了Cancel?
如果把this.Close()
这个代码放到: 
 button1.DialogResult = DialogResult.OK;之前,返回的结果值也是Cancel。
请问这是为什么?
希望能给我帮助。