我正在使用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