Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 实现集中式热键处理/处理_C#_.net_Hotkeys_Imessagefilter - Fatal编程技术网

C# 实现集中式热键处理/处理

C# 实现集中式热键处理/处理,c#,.net,hotkeys,imessagefilter,C#,.net,Hotkeys,Imessagefilter,我正在进行一个项目,需要在整个应用程序中实现可定制的热键。有许多不同的表单和用户控件需要实现不同的热键子集。我想在一个中央MessageFilter类中实现所有的处理和处理 我希望有一个基类,它具有用于所有热键的方法,然后只覆盖每个表单/控件中所需热键的子集,但我不知道如何让所有表单和用户控件共享一个基类。这将允许我执行类似的操作来处理热键: public bool预过滤消息(参考消息m) { HotKeyAction action=GetActionForKey(keydata); BaseC

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

我希望有一个基类,它具有用于所有热键的方法,然后只覆盖每个表单/控件中所需热键的子集,但我不知道如何让所有表单和用户控件共享一个基类。这将允许我执行类似的操作来处理热键:

public bool预过滤消息(参考消息m)
{
HotKeyAction action=GetActionForKey(keydata);
BaseClass实例=GetBaseClassFromFocusedFormOrControl();
开关(动作)
{
case HotKeyAction.Action1:instance.Action1()中断;
}
}

我是不是想错了

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