2012-08-03 52 views

回答

3

從你的第二個形式,使一個按鈕(或其他控件)的返回DialogResult進入屬性。當你想要第二個表單關閉時(即按下按鈕後)使其返回一個特定的DialogResult。當你只想讓

secondform.ShowDialog(); 
textbox.Focus() 

然而,第一個例子是:在你的主要形式,你可以這樣做:

if(secondform.ShowDialog() == DialogResult.OK) 
{ 
    textBox.Focus(); 
    ... 
} 

調用ShowDialog()將阻塞,直到它被關閉,所以你可以簡單地做在按下某個按鈕或對第二個窗體執行操作後,文本框會有焦點。

+0

謝謝你的工作。我不能投票給你,因爲我需要15名代表。我可以在5分鐘內接受答案。 – user1573007 2012-08-03 03:08:55

+0

很高興爲您服務! – 3aw5TZetdf 2012-08-03 03:11:02

0

的ShowDialog()將只返回,這樣你就可以在呼叫後立即寫MyTextBox.Select()

0
SomeForm form1 = new SomeForm(); 
form1.ShowDialog(); 

這裏您顯示的是新窗體。 當您關閉它,你將執行後的方法,所以加

yourTextbox.Focus(); 

所以,它的:

SomeForm form1 = new SomeForm(); 
form1.ShowDialog(); // do what you want in your form, then close it 
yourTextbox.Focus(); 
+0

'SomeForm.ShowDialog()'應改爲'form1.ShowDialog()'。 – 3aw5TZetdf 2012-08-03 03:06:34

+0

謝謝,是一個錯字 – 2012-08-03 03:13:49

2

ShowDialog的手段,這是一個模態窗口,直到您關閉第二種形式的焦點將不會再回到主要形式。您可以使用與用於打開第二個表單的代碼相同的代碼重新設置焦點。

SecondFrm.ShowDialog(); 
Textbox.Focus(); 
相關問題