Form.DialogResult 出现问题
-
12-11-2019 - |
题
private void mnuCustomerAdd_Click(object sender, EventArgs e)
{
CustomerForm frmCust = new CustomerForm("Add A New Customer");
int index = lstCustomers.SelectedIndex;
if (index != -1)
frmCust.CustomerData = new Customer(customerMngr.GetCustomer(index).ContactData);
MessageBox.Show("dev1");
DialogResult dr = frmCust.ShowDialog();
if (dr == DialogResult.OK)
{
MessageBox.Show("dev2");
if (frmCust.ReadInput())
{
MessageBox.Show("dev3");
customerMngr.AddCustomer(frmCust.CustomerData);
}
else
MessageBox.Show("Please supply all necessary fields with the correct information");
}
UpdateCustomerList();
}
不明白我在这里做错了什么,如果用户在出现的表单中单击“确定”,我想执行条件语句 frmCust.ShowDialog()
。目前我只能访问“dev1”。
解决方案
也许您的对话框没有设置对话框结果。确保您的“确定”和“取消”按钮有其功能 DialogResult
属性设置为您所期望的。
其他提示
在该行上放置一个断点 (F9):
if (dr == DialogResult.OK)
当对话框关闭时,您将有机会检查什么 dr
被设定为。
要让对话框返回 DialogResult.OK,您可以在对话框的“确定”按钮中设置它:
void buttonOK_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
Close();
}
或者您可以在 Tigran 中执行该选项 回答.
不隶属于 StackOverflow