对话框窗体在出错后关闭

本文关键字:出错 窗体 对话框 | 更新日期: 2023-09-27 17:56:58

调用子窗体:

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 将关闭。如何阻止表单 2 关闭,允许用户输入所需的数据?

对话框窗体在出错后关闭

将 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);
  }
}

检查 AddBtn 按钮的对话框结果属性并验证它是否为空。