我正在做一个项目,我需要在应用程序中实现可自定义的热键。有许多不同的表单和用户控件需要实现不同的热键子集。我想在一个中央 MessageFilter 类中实现所有的处理和处理。
我想有一个具有所有热键方法的基类,然后只覆盖每个表单/控件中所需的子集,但我不知道如何让所有表单和用户控件共享一个基类。这将允许我做这样的事情来处理热键:
public bool PreFilterMessage(ref Message m)
{
HotKeyAction action = GetActionForKey(keydata);
BaseClass instance = GetBaseClassFromFocusedFormOrControl();
switch (action)
{
case HotKeyAction.Action1: instance.Action1() break;
}
}
我在想这个错误的方式吗?