假设我有三个不同的功能绑定到三个不同的全局热键......
检查按下的热键是否符合某项功能的有效方法是什么?我正在使用与此类似的类:http://www.liensberger.it/web/blog/?p=207
我应该为每个热键创建热键类的新实例吗?
Hotkey hotkey = new Hotkey();
hotkey.RegisterHotkey(Shortcut.ModifierKeys.Control, Keys.F10);
hotkey.KeyPressed += ((s, args) =>
{
//Do Something!
});
或者我应该有一个具有不同热键功能的枚举,并在热键类中管理它以防止多个实例(看起来很浪费但很容易)。在此提前获得任何建议/帮助。
答案 0 :(得分:2)
我会选择为每个不同的函数创建一个单独的类实例,因为命令模式似乎非常适合这里。有关详细信息,请参阅this link。
答案 1 :(得分:0)
为什么不让热键类静态?
Hotkey.Register(modifier, key, callback)
并将它们保存在班级的列表中?
另外,我建议您为热键添加更多修饰符。所有人都被分配到一个共同的任务:控制 + P =打印,控制 + N =新的和控制 + V =粘贴