对话框表单错误后关闭

时间:2015-06-17 16:24:36

标签: c# winforms

调用子表单:

using (Form2 addEmp = new Form2()) 
{ 
  DialogResult dr = new DialogResult ();
  addEmp.FormBorderStyle = FormBorderStyle.FixedDialog;
  dr = addEmp.ShowDialog();
  if (dr == DialogResult.OK)
  {
    retrive = addEmp.GetEmployee;
    addtoTextFileCombo(retrive);
  }
} 

private void btnAdd_Click(object sender, EventArgs e)
{
  try
  {
    iD++;
    this.GetEmployee = new Employee(iD, txtFirstName.Text, txtLastName.Text, txtEmail.Text);
  }
  catch (ArgumentNullException msg)
  {
    MessageBox.Show(msg.Message);
  }
}

我创建了一个子表单,将员工添加到我的主表单中。我的问题是: 当弹出消息框告诉用户有关空参数时,Form2会在用户在MessageBox上单击“确定”后关闭,通知他们。如何阻止表单2关闭,允许用户输入所需的数据?

2 个答案:

答案 0 :(得分:0)

检查AddBtn按钮的DialogResult属性并验证它是否为空。

答案 1 :(得分:0)

将btnAdd控件的DialogResult值重置为None,并在知道表单可以成功关闭时尝试在代码中设置DialogResult的值:

private void btnAdd_Click(object sender, EventArgs e)
{
  try
  {
    iD++;
    this.GetEmployee = new Employee(iD, txtFirstName.Text, txtLastName.Text, txtEmail.Text);
    this.DialogResult = DialogResult.OK;   
  }
  catch (ArgumentNullException msg)
  {
    MessageBox.Show(msg.Message);
  }
}