我有兩種形式。我用這段代碼展示我的第二種形式:焦點返回表單
Form2 f = new Form2();
f.ShowDialog();
我需要了解何時焦點返回到主窗體。我試過Activate
事件,但事實並非如此。
我有兩種形式。我用這段代碼展示我的第二種形式:焦點返回表單
Form2 f = new Form2();
f.ShowDialog();
我需要了解何時焦點返回到主窗體。我試過Activate
事件,但事實並非如此。
對ShowDialog()的調用阻止父窗體。
當從ShowDialog的代碼中的exit()您目前的形式再次變得活躍,
例如:
using(Form2 f = new Form2())
{
// At the moment of the call of ShowDialog, the Net Framework start its work to
// pass the focus to the first control in the Form2 instance
if(DialogResult.OK == f.ShowDialog())
{
// Form confirmed, do your stuff
}
}
// At the end of the using block the parent form is again the active form with the focus on
// the button that has started this process (or the last control that had focus)
當你鍵入
Form2 f = new Form2();
f.ShowDialog();
等待,直到您手動關閉Form2的實例然後返回到主窗體。如果使用ShowDialog()方法,會發生這種情況。
在某些情況下,如果您只想彈出另一個窗體幾秒鐘並返回主窗體,則應使用formInstance.Show()方法。 Show()方法不會等待第二個窗體關閉,它會立即執行並將該控件傳遞給Show()語句後的下一個語句。
希望你能理解它。
謝謝。它有一點改變。使用(Form2 f = new Form2()){f.ShowDialog();} MessageBox.Show(「焦點返回到主窗體」);' – 2012-08-13 14:05:25