C# Form.DialogResult有问题
我不明白我在这里做错了什么,如果用户以C# Form.DialogResult有问题,c#,winforms,showdialog,dialogresult,C#,Winforms,Showdialog,Dialogresult,我不明白我在这里做错了什么,如果用户以frmCust.ShowDialog()的形式点击OK,我想执行条件语句。 目前我只能访问“dev1”。也许您的对话框没有设置对话框结果。确保“确定”和“取消”按钮的对话框结果属性设置为您期望的属性。确保在关闭窗体之前正确分配该窗体的属性。 因此,它将像返回值ShowDilaog()call一样返回 还有另一个选项,即使用和,为了处理相应的输入和取消按键。在行上放置断点(F9): private void mnuCustomerAdd_Click(objec
frmCust.ShowDialog()
的形式点击OK,我想执行条件语句。
目前我只能访问“dev1”。也许您的对话框没有设置对话框结果。确保“确定”和“取消”按钮的
对话框结果
属性设置为您期望的属性。确保在关闭窗体之前正确分配该窗体的属性。
因此,它将像返回值ShowDilaog()
call一样返回
还有另一个选项,即使用和,为了处理相应的输入和取消按键。在行上放置断点(F9):
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();
}
当对话框关闭时,您将有机会检查dr
的设置
要使对话框返回DialogResult.OK,您可以在对话框的OK按钮中进行设置:
if (dr == DialogResult.OK)
或者你可以在Tigran's中进行选择。你是否在对话框中设置了对话框结果
?请给这篇文章一个实际的问题/标题。简单地输入代码并不能帮助任何人一眼就理解这个问题。MSDN是你的朋友:我已经解决了这个问题!感谢链接到MSDN,不幸的是我发现它很难使用,所以我转而使用stackoverflow。接受这个答案,因为这是最直接的解决方案,谢谢!感谢您的帮助,我将在下次更仔细地检查有故障的变量。
void buttonOK_Click(object sender, EventArgs e)
{
this.DialogResult = DialogResult.OK;
Close();
}