0

我正在做一个项目,我需要在应用程序中实现可自定义的热键。有许多不同的表单和用户控件需要实现不同的热键子集。我想在一个中央 MessageFilter 类中实现所有的处理和处理。

我想有一个具有所有热键方法的基类,然后只覆盖每个表单/控件中所需的子集,但我不知道如何让所有表单和用户控件共享一个基类。这将允许我做这样的事情来处理热键:

public bool PreFilterMessage(ref Message m)
{
HotKeyAction action = GetActionForKey(keydata);
BaseClass instance = GetBaseClassFromFocusedFormOrControl();
switch (action)
{
case HotKeyAction.Action1: instance.Action1() break;
}
}

我在想这个错误的方式吗?

4

1 回答 1

0

可以说,您可以将表单创建为“基类”。也就是说,您可以创建一个名为 ShanesForm 的表单,其中没有任何内容。将您的方法调用放在此表单中,然后将该表单设置为所有其他表单的基类。

于 2010-01-07T17:57:02.987 回答