标准Win+M键盘快捷键可最小化打开的窗口,但不会最小化无边框窗体。
我正在考虑在 KeyDown 事件中捕获Win+ 的关键事件,M但没有运气,因为它不会同时捕获两个而是只捕获第一个键。
我无法使用键盘快捷键以编程方式将其最小化
关于如何通过键盘快捷键最小化我的表单的任何想法?或者我可以捕获Win+M来触发最小化功能吗?
我正在使用无边框形式。要重现该问题,请创建一个 Form 并将其 BorderStyle 设置为 None 并运行该应用程序。当您按Win+ 时M,所有窗口都会最小化,但我的无边框形式保持正常。
作为一个选项,您可以为无边框表单启用系统菜单(具有最小化窗口样式),然后虽然它不显示控制框,但最小化命令将按预期工作。
将以下代码添加到您的中Form,然后Win+M将按预期工作:
private const int WS_SYSMENU = 0x80000;
private const int WS_MINIMIZEBOX = 0x20000;
protected override CreateParams CreateParams
{
get
{
CreateParams p = base.CreateParams;
p.Style = WS_SYSMENU | WS_MINIMIZEBOX;
return p;
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
112 次 |
| 最近记录: |