我希望在我的WinForm应用程序中展示一个输入模态框。我已经在网上搜索了很多,但是没有找到一个好的方法来实现这个功能。我知道我需要创建另一个窗体,并使用ShowDialog方法。
我希望在我的WinForm应用程序中展示一个输入模态框。我已经在网上搜索了很多,但是没有找到一个好的方法来实现这个功能。我知道我需要创建另一个窗体,并使用ShowDialog方法。
你是正确的。
请注意,模态对话框在关闭时不会自动释放资源(与非模态对话框不同),因此您需要一个类似于以下模式:
using (FrmModal myForm = new FrmModal())
{
DialogResult dr = myForm.ShowDialog();
if (dr == DialogResult.OK)
{
// ...
}
else
{
// ...
}
}
在新表单(我称其为FrmModal)本身中,适当地在按钮事件处理程序中设置DialogResult属性,例如,如果您有一个OK按钮,您会希望在该按钮的事件处理程序中设置DialogResult = DialogResult.OK,然后调用Close()来关闭该表单。