如何將TextBox
元素集中在主窗體上後?焦點文本框關閉其是通過調用<code>ShowDialog()</code>開了第二表格後關閉第二種形式
我試圖調用關閉和第二種形式的封閉事件MainForm.TextBox.Focus()
,但這不會集中在文本框。
我在緊湊的框架採用System.Windows.Forms
。
謝謝。當第二窗體關閉
如何將TextBox
元素集中在主窗體上後?焦點文本框關閉其是通過調用<code>ShowDialog()</code>開了第二表格後關閉第二種形式
我試圖調用關閉和第二種形式的封閉事件MainForm.TextBox.Focus()
,但這不會集中在文本框。
我在緊湊的框架採用System.Windows.Forms
。
謝謝。當第二窗體關閉
從你的第二個形式,使一個按鈕(或其他控件)的返回DialogResult
進入屬性。當你想要第二個表單關閉時(即按下按鈕後)使其返回一個特定的DialogResult
。當你只想讓
secondform.ShowDialog();
textbox.Focus()
然而,第一個例子是:在你的主要形式,你可以這樣做:
if(secondform.ShowDialog() == DialogResult.OK)
{
textBox.Focus();
...
}
調用ShowDialog()
將阻塞,直到它被關閉,所以你可以簡單地做在按下某個按鈕或對第二個窗體執行操作後,文本框會有焦點。
的ShowDialog()將只返回,這樣你就可以在呼叫後立即寫MyTextBox.Select()
。
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();
'SomeForm.ShowDialog()'應改爲'form1.ShowDialog()'。 – 3aw5TZetdf 2012-08-03 03:06:34
謝謝,是一個錯字 – 2012-08-03 03:13:49
ShowDialog的手段,這是一個模態窗口,直到您關閉第二種形式的焦點將不會再回到主要形式。您可以使用與用於打開第二個表單的代碼相同的代碼重新設置焦點。
SecondFrm.ShowDialog();
Textbox.Focus();
謝謝你的工作。我不能投票給你,因爲我需要15名代表。我可以在5分鐘內接受答案。 – user1573007 2012-08-03 03:08:55
很高興爲您服務! – 3aw5TZetdf 2012-08-03 03:11:02