在WinForms中显示输入对话框

时间:2009-09-07 01:39:32

标签: c# .net winforms modal-dialog

我想在WinForm应用程序中显示输入模式。我环顾网络,但没有找到一个很好的模式来做这件事。我知道我必须创建另一个Form,并使用ShowDialog方法。

1 个答案:

答案 0 :(得分:15)

你是对的。

请注意,关闭时不会自动处理模态对话框(与非模态对话框不同),因此您需要一个类似的模式:

using (FrmModal myForm = new FrmModal())
{
    DialogResult dr = myForm.ShowDialog();
    if (dr == DialogResult.OK)
    {
        // ...
    }
    else
    {
        // ...
    }
}

在新表单本身(我称之为FrmModal)中,在您的按钮事件处理程序中适当地设置DialogResult属性,例如如果你有一个OK按钮,你想在该按钮的事件处理程序中设置DialogResult = DialogResult.OK,然后调用Close()关闭表单。