等待无模式对话框在vb.net中关闭

时间:2012-04-19 12:40:16

标签: c# .net vb.net dialog

在表格中我有一个按钮,它具有从(通过鼠标点击)获取一些数据的功能 家长申请。

我有处理父应用程序句柄,但即使我试图把它放在顶部我也无法做选择,因为表单是模态的。

这里的要求是打开无模式对话框并等待它关闭。其他方面它会更进一步并执行以下功能。

另一个选项可以是打开表单作为模态,并在运行时将其更改为modaless

但该怎么办? :)

2 个答案:

答案 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

模态当前显示时,您无法显示非模态对话框。

相关问题