调用子表单:
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关闭,允许用户输入所需的数据?
答案 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);
}
}