在窗體中我有一個按鈕,它具有從(通過鼠標單擊)拾取一些數據的功能 父應用程序。等待無模式對話框關閉vb.net
我有處理父應用程序句柄,但即使我試圖把它放在上面我不能做選擇,因爲窗體是模態的。
此處的要求是打開無模式對話框並等待它關閉。其他明智的是它進一步並執行下面的功能。
另一個選項可以是打開窗體爲模態,並在運行時將其更改爲無模。
但是怎麼做呢? :)
在窗體中我有一個按鈕,它具有從(通過鼠標單擊)拾取一些數據的功能 父應用程序。等待無模式對話框關閉vb.net
我有處理父應用程序句柄,但即使我試圖把它放在上面我不能做選擇,因爲窗體是模態的。
此處的要求是打開無模式對話框並等待它關閉。其他明智的是它進一步並執行下面的功能。
另一個選項可以是打開窗體爲模態,並在運行時將其更改爲無模。
但是怎麼做呢? :)
假設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();
哪將阻止主窗體直到子窗體關閉。不需要關閉關閉的事件。
你的問題沒有做出完整意義上的,而是試圖回答這麼遠
可以使用
Form1.ShowDialog
顯示一個模式對話框如果再需要出示另一模態對話框,你可以做這樣的:
Form2.ShowDialog
不能顯示非模態對話框當模式顯示的是當前電流。
注意:模式不是型號 – Reniuz 2012-04-19 12:44:08
這些窗口是同一個應用程序嗎?你的描述有些含糊,說明它可能意味着單獨的過程。 – 2012-04-19 12:50:30
它可能是'模態',但它絕對是'無模式'。 – 2012-04-19 12:54:02