对于可能由此问题引起的更一般行为,请阅读:
我正在编写一个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程序中做些什么来解决这个问题?
谢谢