在WinForms中显示输入对话框

4

我希望在我的WinForm应用程序中展示一个输入模态框。我已经在网上搜索了很多,但是没有找到一个好的方法来实现这个功能。我知道我需要创建另一个窗体,并使用ShowDialog方法。


http://www.reflectionit.nl/Articles/InputBox.aspx 有一个例子。 - Preet Sangha
https://dev59.com/pHVD5IYBdhLWcg3wE3Xz#17546909 是另一个你可以复制粘贴的输入提示类的示例。 - Walter Stabosz
1个回答

15

你是正确的。

请注意,模态对话框在关闭时不会自动释放资源(与非模态对话框不同),因此您需要一个类似于以下模式:

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

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


1
小注释:将Forms的DialogResult设置为!= none就足以关闭它。 - H H

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接