我正在开发一个项目,我需要在整个应用程序中实现可自定义的热键。有许多不同的窗体和用户控件需要实现不同的热键子集。我想在一个中心的MessageFilter类中实现所有的处理和处理。我想拥有一个基类,它拥有所有热键的方法,然后在每个窗体/控件中重写需要的子集的子集,但我无法弄清楚如何让所有的窗体和用户控件共享一个基类。这将允许我做这样的事情来处理热键:实现集中式热键处理/处理
public bool PreFilterMessage(ref Message m)
{
HotKeyAction action = GetActionForKey(keydata);
BaseClass instance = GetBaseClassFromFocusedFormOrControl();
switch (action)
{
case HotKeyAction.Action1: instance.Action1() break;
}
}
我在想关于这个错误的方式?