这是一个主观问题,但我需要意见。
我有一个 WinForms C# 应用程序,其窗口在特定击键(Enter 或 Escape)后隐藏,并带有可能的修饰符(例如 Ctrl-Enter)。当隐藏在 KeyDown 或 KeyPress 上时,在我的窗口隐藏后变为活动状态的其他应用程序会收到该击键的 KeyUp 事件。通常,它不应该影响其他应用程序,但其中一些对 KeyUp 有反应。例如,TweetDeck 在“Enter”KeyUp 上发送当前正在编辑的消息,即使它没有收到 KeyDown/KeyPress。
所以我想,好吧,我会成为一个好公民,我会躲在 KeyUp 上。但这感觉不对。如果我只寻找钥匙,我正在做我责怪别人做的事情!如果我尝试创建匹配 KeyDown/KeyUp 的历史记录,那么我的代码过于复杂(修饰符会生成自己的密钥)。
我该怎么办?一个执行良好的应用程序应该做什么?