C# 关闭对话框和子窗体,并将结果传递给主窗体
我有一个C#windows窗体可以打开一个子窗体,其中有文本框、OK和Cancel按钮 当用户单击“确定”时,我检查与文本框中输入的机器用户的连接。C# 关闭对话框和子窗体,并将结果传递给主窗体,c#,winforms,C#,Winforms,我有一个C#windows窗体可以打开一个子窗体,其中有文本框、OK和Cancel按钮 当用户单击“确定”时,我检查与文本框中输入的机器用户的连接。 如果连接正常,我想关闭子窗体,如果不显示是\否消息,询问用户是否仍要使用输入的机器名。 如果答案是“是”,请关闭子窗体,如果不是,请关闭“是\否”问题 在主窗体中,我正在检查子对话框DialogResult,但似乎无法使其工作,因为这样。关闭传递取消结果。以下是主要形式的代码: DialogResult result = SetServer.Sho
如果连接正常,我想关闭子窗体,如果不显示是\否消息,询问用户是否仍要使用输入的机器名。
如果答案是“是”,请关闭子窗体,如果不是,请关闭“是\否”问题 在主窗体中,我正在检查子对话框DialogResult,但似乎无法使其工作,因为这样。关闭传递取消结果。以下是主要形式的代码:
DialogResult result = SetServer.ShowDialog();
if (result == DialogResult.OK)
{
// BLA
}
儿童表格编码
if (!PingMachine(testmachine))
{
DialogResult dialogResult = MessageBox.Show(“No connection", "Check",
MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes)
{
btnOK.DialogResult = DialogResult.OK;
}
else
{
btnOK.DialogResult = DialogResult.No;
}
this.Close();
}
改为设置子窗体的结果:
DialogResult dialogResult = MessageBox.Show(“No connection", "Check", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes) {
this.DialogResult = DialogResult.OK;
}
else {
this.DialogResult = DialogResult.No;
}
设置模态窗体的DialogResult也将自动关闭它,因此无需调用
this.close()代码>改为设置子窗体的结果:
DialogResult dialogResult = MessageBox.Show(“No connection", "Check", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes) {
this.DialogResult = DialogResult.OK;
}
else {
this.DialogResult = DialogResult.No;
}
设置模态窗体的DialogResult也将自动关闭它,因此无需调用this.close()代码>我在搜索其他内容,无意中发现了这篇文章。虽然已经快一年了,但如果有人来这篇文章,我想补充一点
如果在用户按下No
时只想关闭YesNo
对话框,则不需要对No
选项的代码执行任何操作。默认情况下,无论按下哪个按钮,windows都将关闭YesNo
对话框,您只需在按下每个按钮时对要执行的操作进行硬处理,但如果您根本不想执行任何操作,只需不写任何内容即可
if (dialogResult == DialogResult.Yes)
{
this.DialogResult = DialogResult.OK;
}
// End your code here. If user press "No", then the question will automatically close with no actions being executed.
我在找别的东西,无意中发现了这篇文章。虽然已经快一年了,但如果有人来这篇文章,我想补充一点
如果在用户按下No
时只想关闭YesNo
对话框,则不需要对No
选项的代码执行任何操作。默认情况下,无论按下哪个按钮,windows都将关闭YesNo
对话框,您只需在按下每个按钮时对要执行的操作进行硬处理,但如果您根本不想执行任何操作,只需不写任何内容即可
if (dialogResult == DialogResult.Yes)
{
this.DialogResult = DialogResult.OK;
}
// End your code here. If user press "No", then the question will automatically close with no actions being executed.
不要在情态形式中使用Close。只需将this.DialogResult属性设置为适当的值。是否尝试使用this.Hide();在关闭表单之前?它将隐藏子窗体,并在关闭前执行任何操作。如果你点击“否”,你就可以看到这个。Show();不要在情态形式中使用Close。只需将this.DialogResult属性设置为适当的值。是否尝试使用this.Hide();在关闭表单之前?它将隐藏子窗体,并在关闭前执行任何操作。如果你点击“否”,你就可以看到这个。Show();