1

有关可能由此问题引起的更一般的行为,另请阅读:

https://stackoverflow.com/questions/2042925/shortcut-keys-defined-in-lnk-files-do-not-work-if-im-running-ac-winforms-prog

我正在编写一个 C# 程序,使用 .NET 2.0 和 WinForms 以及 Visual C# 2008 Express。我使用的是 Windows 7,但问题也在 Windows XP 下。

重要提示:主窗体的 FormBorderStyle 属性设置为 None,WindowState 设置为 Maximized。

我在桌面上为我的程序创建了一个快捷方式文件 (.LNK),并在“属性”对话框中定义了一个快捷键(比如说 Ctrl+F11,但问题与我尝试的任何其他快捷键相同)。当我在 Windows 中按 Ctrl+F11 时,我的程序可以正常启动。

但是,如果我在程序运行时按 Ctrl+F11,则什么也不会发生(即使我将主窗体的 KeyPreview 属性设置为 true 并分配 KeyDown 事件处理程序也不会生成按键事件),但是在我关闭程序,当我再次尝试按 Ctrl+F11 时,该快捷方式在 Windows 中不再有效。我必须对其进行更改或等待更长的时间,直到它再次起作用(但是尚不清楚它是如何再次开始起作用的)。

如果我在程序运行时不按Ctrl+F11,在我关闭它后,下次我使用快捷键时,它可以正常工作。

这个问题使我无法使用 .LNK 快捷键功能为我的 C#、WinForms、.NET 2.0 程序定义一个没有表单边框且已最大化的快捷键。

我可以在我的 C# WinForms 程序中做些什么来解决这个问题吗?

谢谢

4

0 回答 0