处理以不可见形式按下的f1键

时间:2014-10-24 17:09:19

标签: c# winforms events

我必须将Windows窗体应用程序中的启动窗体设置为对用户完全不可见,然后处理f1键按下事件。

我使用以下代码将表单设置为不可见:

protected override void SetVisibleCore(bool value)
{
    base.SetVisibleCore(false);
}

然后我注意到不再调用HelpRequestedEvent了......所以以下代码永远不会被调用...

this.HelpRequested += (sender, eventArgs) => { MessageBox.Show("Hi"); };

上面的代码已添加到表单的构造函数中。我现在正试图保持表单完全不可见(因为它与被覆盖的SetCoreVisibility版本一样)并且还处理此HelpRequested事件,有没有办法如何做到这一点?

1 个答案:

答案 0 :(得分:1)

您可以使用计时器并检查F1键盘:

void Timer_Tick(object sender, EventArgs e)
{
    if (Keyboard.IsKeyDown(Key.F1))
    {
        // do your stuff..
    } 
}

为了在WinForms程序中工作,您需要包含对PresentationCore'的引用。和' WindowsBase'还包括using System.Windows.Input;

有点黑客,imo。而且我不会重申关于一个用户如何看不到任何东西可以通过按F1来实现任何目标的希望的问题。

相关问题