我有兩種形式,Form1和一個用於控制Form2的UserControl。在Form1的UserControl中,我調用Form2.Show();
。我也試過Form2.Show(this);
。無論哪種方式,重點都不在於表格。我必須在新表單中單擊一次以使其聚焦,然後我可以單擊該表單中的項目。通過Form.Show顯示一個表單沒有給出焦點?
我覺得控制權已經傳回到我的主要控制/表單中,因此重點正在消失。所以我等待Form2關閉,通過:
while (form2.Visible == true)
{
System.Threading.Thread.Sleep(100);
Application.DoEvents();
}
這似乎工作。然而,在我關閉表格後,現在反過來了。直到我在主窗體窗口中單擊一次,Form1才被賦予焦點(即使我呼叫this.Focus()
)。
任何想法如何正確處理。我想要顯示一個子窗體(無模式),並且立即能夠點擊它,並且當窗體關閉時,立即可以在父窗體上執行操作。
*主機*表單的用戶控件?是隻創建它並調用Show(),還是它實際上充當窗體的TopLevel屬性設置爲false的窗體的父窗體?顯示用戶控制代碼。 – 2010-11-17 00:32:33
它只是作爲父母。這是一個組合框,我在這裏「放下」我自己的ListView而不是標準對話框。這個ListView被託管在一個表單中(我找不到直接顯示ListView的方法)。我會考慮添加UserControl。 – esac 2010-11-17 16:09:02