我有一個問題,當我的主窗體在打開一個新表單時失去了焦點。我知道我可以通過使用mainForm.focus()
來恢復焦點,但是如果我希望主窗體在新窗口打開時永不放棄焦點,我該如何處理這些事情呢?當我顯示另一個表單時,如何防止原始表單失去焦點?
1
A
回答
1
科迪格雷回答了這個問題,我只是通過直接粘貼代碼來擴展它。具有修改權可以複製它在那裏,並刪除這我都不在乎;)
pinvoke.net的ShowWindow方法:
private const int SW_SHOWNOACTIVATE = 4;
private const int HWND_TOPMOST = -1;
private const uint SWP_NOACTIVATE = 0x0010;
[DllImport("user32.dll", EntryPoint = "SetWindowPos")]
static extern bool SetWindowPos(
int hWnd, // window handle
int hWndInsertAfter, // placement-order handle
int X, // horizontal position
int Y, // vertical position
int cx, // width
int cy, // height
uint uFlags); // window positioning flags
[DllImport("user32.dll")]
static extern bool ShowWindow(IntPtr hWnd, int nCmdShow);
static void ShowInactiveTopmost(Form frm)
{
ShowWindow(frm.Handle, SW_SHOWNOACTIVATE);
SetWindowPos(frm.Handle.ToInt32(), HWND_TOPMOST,frm.Left, frm.Top, frm.Width, frm.Height,SWP_NOACTIVATE);
frm.TopMost = false;
}
的
5
您可以通過覆蓋屬性ShowWithoutActivation
來完成此操作,以便以您希望顯示的形式返回true
,而不必從顯示它的表單中偷取焦點,在您的情況下這將是您的主要形式。
相關問題
- 1. 如何防止從主表單顯示和/或關閉輔助表單時失去焦點?
- 2. 當底層行模型更新時,防止表單元失去焦點
- 3. 失去焦點時提交表單
- 4. 當vb.net表單失去焦點時,哪個事件觸發?
- 5. 如何防止Popup失去焦點?
- 6. 如何防止元素失去焦點?
- 7. 防止另一個應用程序在VB.net中失去焦點
- 8. 當一個領域失去焦點時顯示一條消息
- 9. 當按下向下箭頭鍵時防止LWUIT表單的最後一個組件失去焦點
- 10. NSTableView當表失去焦點時突出顯示顏色
- 11. 移動表單字段 - 失去焦點
- 12. 防止焦點離開表單字段
- 13. 我的表單在c按鈕單擊後失去焦點#
- 14. 當點擊另一個元素時不要失去焦點
- 15. 防止元素失去焦點
- 16. Swing:防止CellEditor失去焦點
- 17. Android防止活動失去焦點
- 18. Winforms防止DataGridView失去焦點
- 19. WPF - 防止ListView失去焦點
- 20. 如何避免在顯示多個表單時設置焦點?
- 21. 鈦 - 如何防止textField在按下返回時失去焦點
- 22. 下拉顯示當輸入具有焦點。輸入失去焦點時如何保持下拉菜單打開?
- 23. 防止項目失去焦點刷新列表視圖在c#
- 24. 防止表單在驗證失敗時顯示默認值codeigniter
- 25. 當單擊其他節點時,javafx不會失去焦點
- 26. 如何防止新的WPF表單被盜取焦點?
- 27. 我的表單無效時,如何停止文本框焦點?
- 28. 如何防止從對話框返回時失去焦點的Winform失去焦點
- 29. 如何防止在單擊內部時丟失焦點的下拉菜單
- 30. 我的表單中的虛擬鍵盤。防止按鈕焦點
可能重複的[顯示窗體沒有偷焦點(在C#)] (http://stackoverflow.com/questions/156046/show-a-form-without-stealing-focus-in-c) – 2011-01-13 10:40:29
[Show a Form without stealing focus?](http://stackoverflow.com中文/ questions/156046/show-a-form-without-stealing-focus) – 2017-05-17 14:58:41