【问题标题】:Show Windows Form using Shortcut key使用快捷键显示 Windows 窗体
【发布时间】:2012-09-07 04:23:34
【问题描述】:

我正在.Net 中创建一个 Windows 窗体应用程序。我的要求是当我按下“shift+alt+h”时,表单应该隐藏,当我按下“shift+alt+s”时,表单应该可见.
我可以隐藏窗口但无法显示请建议我该怎么做。

【问题讨论】:

    标签: c# .net winforms forms


    【解决方案1】:

    您的问题是,一旦您隐藏了应用程序的窗口,它就无法再接收正常的按键事件。要在您的窗口被停用后侦听应该重新激活您的窗口的组合键,您将需要使用全局键盘挂钩。我会看Application and Global Mouse and Keyboard Hooks .Net Libary in C# on CodePlex

    【讨论】:

    • 谢谢丹先生,如果是的话,是否可以在不使用这个库的情况下实现解决方案,那么请帮助我
    • 您可以选择不使用此库或任何其他库,但为什么要花费开发时间做一些已经完成的事情?
    • 好吧,在我看来,除非你的“前辈”试图教你成为全局事件挂钩的低级 Windows 专家,否则他们让你自己编写代码是不明智的。如果他们不希望您使用 3rd 方库,为什么他们可以使用 .Net 框架?这就是 .Net 的全部内容:库的集合。我对您的建议是在 codeplex 上研究此代码,以及 CodeProject 上的一些示例,以便您自己实现。祝你好运!
    • 感谢您的宝贵时间和您的好建议,我会尽力弄清楚我该怎么做
    【解决方案2】:

    您可以使用表单KeyDown event 来完成

     private void YourForm_KeyDown(object sender, KeyEventArgs e)
            {
                if (e.Control && e.Alt && e.KeyCode == Keys.H)
                {
                    this.Hide();
                }
               else if (e.Control && e.Alt && e.KeyCode == Keys.S)
                {
                    this.Show();
                }
    

    前提是这个表单是MDI表单中的子表单。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-18
      • 1970-01-01
      相关资源
      最近更新 更多