我正在使用Infragistic控件的項目。它會創建一個UserControl
,將其放入DockableControlPane
,然後將其放入位於Form
內的UltraDockManager
內的DockAreaPane
。當其中一個DockableControlPane
s被解除鎖定並關注焦點時,我需要一種捕獲按鍵的方法,這將允許我關閉該「窗口」。我遇到的問題是,似乎沒有任何鍵盤事件由Infragistic控件公開。我在主窗體中覆蓋了OnKeyUp
,它捕獲所有子窗口停靠時的按鍵,但是如果其中一個浮動且處於焦點狀態,則不會捕獲按鍵。我試圖覆蓋DockableControlPane
內部的控件中的OnKeyUp
,但這種情況永遠不會被調用。我完全喪失了在哪裏可以始終如一地捕獲這些浮動窗口中的按鍵,或者一些可以使鍵盤快捷鍵關閉它們的設置。在這一點上,我不會太挑剔哪個鍵盤快捷鍵可以完成這項工作。而從Intragistics轉換不是一個可行的選擇。使用鍵盤輸入關閉DockableControlPane
1
A
回答
0
我能夠通過向UltraToolbarsManager
添加一個隱藏按鈕來處理這個問題,在我的情況下,它是吞嚥鍵盤輸入的內容,並將其設置爲Ctrl-F4的快捷方式。
0
您可以覆蓋ProcessCmdKey Form類:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
switch (keyData)
{
// open panel combination keys Ctrl + F
case (Keys.Control | Keys.F):
if (this.ultraDockManager1.ControlPanes["Your Pane Name"] != null)
if (this.ultraDockManager1.ControlPanes["Your Pane Name"].Pinned)
{
this.ultraDockManager1.ControlPanes["Your Pane Name"].Pinned = false;
}
else if (this.ultraDockManager1.ControlPanes["Your Pane Name"].IsInView)
{
this.ultraDockManager1.FlyIn(false);
}
else
{
// this.ultraDockManager1.ControlPanes["Your Pane Name"].Pin();
this.ultraDockManager1.ControlPanes["Your Pane Name"].Activate();
}
}
}
也許對於下一個:d
相關問題
- 1. 關閉輸入焦點的Android鍵盤
- 2. 使用鍵盤關閉JFrame
- 3. 關閉鍵盤
- 4. 關閉鍵盤
- 5. 如何使鍵盤上的輸入關閉批處理程序
- 6. 我怎樣才能關閉鍵盤上的輸入按鍵
- 7. MFMessageComposeViewController關閉鍵盤
- 8. 關閉iPad鍵盤
- 9. 關閉UITextField鍵盤?
- 10. Android關閉鍵盤
- 11. 關閉iphone鍵盤
- 12. UIKeyboardTypeNumberPad關閉鍵盤
- 13. MonoTouch.Dialog:關閉鍵盤
- 14. 使用Winapi鍵盤輸入
- 15. 使用鍵盤輸入actionscript 3輸入
- 16. Mobile Safari - 使用Javascript關閉鍵盤
- 17. 關閉鍵盤以及使用IQKeyboardManager
- 18. Linux,使用鍵盤屏幕關閉
- 19. 關閉鍵盤數字鍵盤
- 20. 鍵盤輸入
- 21. 如何在iPhone上完成輸入時關閉鍵盤?
- 22. 如何在iPhone上完成輸入時關閉鍵盤
- 23. UITextField - 輸入兩位數字後關閉鍵盤
- 24. iOS的UiTextField限制輸入和鍵盤關閉
- 25. 對話框關閉時隱藏軟輸入鍵盤
- 26. 當使用鍵盤下一個按鈕輸入所有字段時,關閉android鍵盤?
- 27. 如何關閉鍵盤?
- 28. ResignFirstResponder不關閉鍵盤(iPhone)
- 29. 如何關閉iOS鍵盤?
- 30. applicationWillResignActive關閉鍵盤iPhone