我有C#窗体打开一个子窗体,在其中我有文本框,确定和取消按钮,
当用户单击"确定"时,我会检查与文本框中输入的机器用户的连接.
如果连接正常,我想关闭子表单,如果没有显示是\没有消息询问用户是否仍想使用输入的计算机名称.
如果答案为是,则关闭子表单,如果不是只关闭是\否问题.
在主窗体我正在检查子对话框DialogResult但似乎无法使它工作,因为this.Close传递取消结果.以下是主窗体中的代码:
DialogResult result = SetServer.ShowDialog();
if (result == DialogResult.OK)
{
// BLA
}
Run Code Online (Sandbox Code Playgroud)
儿童表格代码
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();
}
Run Code Online (Sandbox Code Playgroud)
改为设置子表单的结果:
DialogResult dialogResult = MessageBox.Show(“No connection", "Check", MessageBoxButtons.YesNo);
if (dialogResult == DialogResult.Yes) {
this.DialogResult = DialogResult.OK;
}
else {
this.DialogResult = DialogResult.No;
}
Run Code Online (Sandbox Code Playgroud)
设置模态窗体的DialogResult也会自动关闭它,因此无需调用 this.Close();