在表格中我有一个按钮,它具有从(通过鼠标点击)获取一些数据的功能 家长申请。
我有处理父应用程序句柄,但即使我试图把它放在顶部我也无法做选择,因为表单是模态的。
这里的要求是打开无模式对话框并等待它关闭。其他方面它会更进一步并执行以下功能。
另一个选项可以是打开表单作为模态,并在运行时将其更改为modaless 。
但该怎么办? :)
答案 0 :(得分:3)
假设WinForms ...当您创建对话框时,请挂钩其FormClosed
事件。当它关闭时,将触发此事件并通知您的原始表单(假设事件处理程序是原始格式)。
类似的东西:
class MainForm : Form
{
private ChildForm _childForm;
public void ShowChildForm()
{
_childForm = new ChildForm();
_childForm.FormClosed += (s, e) => MessageBox.Show("Child was closed.");
_childForm.Show();
}
}
那就是说,如果你需要等待直到它关闭,那听起来很像 模态 对话框:
_childForm.ShowDialog();
在子窗体关闭之前,它将在主窗体上阻塞。无需挂钩已结束的活动。
答案 1 :(得分:-1)
你的问题没有完全意义,但到目前为止尝试回答 -
您可以使用
显示模态对话框Form1.ShowDialog
如果您需要显示另一个模态对话框,则可以执行此操作:
Form2.ShowDialog
当模态当前显示时,您无法显示非模态对话框。