我有兩種形式form1和form2。我使用form1中的按鈕導航到form2。在form2中,我有一個按鈕控件;點擊按鈕,我顯示messageBox。當messageBox來時,它也失去了form1的焦點,但我希望它不應該失去form1的焦點。我不擔心form2。專注於第一種形式
專注於第一種形式
回答
消息框不會像對話框一樣顯示。就像Eliran Pe'er所說的那樣,你應該像一個帶有標籤和按鈕的消息箱一樣製作一個表單,然後像這樣使用它。
MessageForm form = new MessageForm.Show();
如果使用ShowDialog,它將與MessageBox相同。
在您的表格1中,您可以使用TopMost property = true
,以便無論如何始終保持在最前面。但是這將會讓你的表單在所有其他開放程序之上。
另一個解決方法是在用戶關閉消息框(這不是一個糟糕的選項)之後,您可以將窗體1調用到BringToFront()。爲此,您可以將Show1的實例傳遞給Show方法中的form2。在你的form2構造函數中使用該參數。
我不認爲有一個簡單的方法來阻止MessageBox的焦點,這是因爲MessageBox是一個對話框。 (對話框從程序中關注直到它們被關閉)
我能想到的唯一方法是創建看起來像MessageBox的新窗體,並使用它。
是的,MessageBox是一個模式窗口,它持有焦點直到關閉。 –
試試這個
if(MessageBox.Show("something")==DialogResult.OK)
{
form1.Focus();
}
或者
if(MessageBox.Show("something")==DialogResult.OK)
{
form1.Select();
}
沒有你說的選項。我檢查了這一點,但仍然沒有working.Form1.ActiveForm.Activate(); Form1.ActiveForm.Select(); Form1.ActiveForm.Focus(); –
您正在使用的ShowDialog()方法或Show()方法來顯示你的窗口2? 如果使用ShowDialog()方法,請將其修改爲Show()。 因爲的ShowDialog()方法將不允許您將焦點移到主窗體(Form),直到你關閉子窗體(Form)
確保您使用的方法,
form2.Show()
來顯示窗體2。
我正在使用show(); –
- 1. window.open專注於第一頁
- 2. android:listview專注於第一項
- 3. 多種形式onclick事件只適用於第一種形式
- 4. 用第一種形式提交第二種形式
- 5. 與第一種形式同時顯示的第二種形式
- 6. 專注於Android的第一個edtitext
- 7. 只專注於第一個元素
- 8. 專注於第一個類名元素
- 9. 從第二種形式回到同一實例中的第一種形式
- 10. 角:創建基於另一種形式的一種新形式
- 11. 從第三種形式打開第二種形式
- 12. 如何在第二種形式打開時禁用第一種形式?
- 13. 如何將值從第二種形式傳遞迴第一種形式在C#
- 14. 通過第一種形式在第二種形式上同時創建標籤
- 15. 從一種形式移動到另一種形式,但停止第一種形式的代碼
- 16. UIWebView專注於特定的方形
- 17. :專注於一個IMG
- 18. 用多種形式註冊
- 19. 專注於NSTextView
- 20. 專注於EditText
- 21. 一種形式到多種形式
- 22. 一種形式
- 23. 保持專注於沒有對話框的兒童形式?
- 24. C# - 使用兩種形式,從第一種形式訪問變量
- 25. 從一種形式檢索結果並將結果用於另一種形式?
- 26. 專注於行後克隆的第一個輸入
- 27. 專注於第一個組件<p:dialog>
- 28. jQuery專注於aspxdockpanel中的第一個文本框
- 29. 避免專注於黑莓手機的第一屏幕領域
- 30. 專注於列表視圖控件的第一個元素WPF
親愛的使用form1.BringToFront() – Developerzzz
所以當用戶點擊form2上的那個按鈕時,它會顯示一個消息框。當消息框關閉時,應該顯示form1並關閉form2? – Mino
@Developerzzz找不到選項form1.BringToFront() –