C# 注册热键

C# 注册热键,c#,.net,windows,vb.net,C#,.net,Windows,Vb.net,我有这个功能: 注册表全局热键(key.F6,MOD|u SHIFT | MOD|u CONTROL); 调用API在系统中注册全局快捷键。 无效注册表全局热键(键热键、int修饰符) 我创建了一个小选项表单,将这些键设置为变量,而不是固定值,如下所示: RegisterGlobalHotKey(VARIABLE1、VARIABLE2 | VARIABLE3) 请参阅随附的选项表以了解更多信息 主要问题是如何将组合框字符串值转换为键enum value,假设您可以要求用户准确输入enum值的名称

我有这个功能: 注册表全局热键(key.F6,MOD|u SHIFT | MOD|u CONTROL); 调用API在系统中注册全局快捷键。 无效注册表全局热键(键热键、int修饰符)

我创建了一个小选项表单,将这些键设置为变量,而不是固定值,如下所示: RegisterGlobalHotKey(VARIABLE1、VARIABLE2 | VARIABLE3)

请参阅随附的选项表以了解更多信息


主要问题是如何将组合框字符串值转换为键enum value

,假设您可以要求用户准确输入enum值的名称,您可以将文本传递给
Enum.Parse
,这将返回具有指定名称的枚举值。

假设您可以要求用户准确键入枚举值的名称,您可以将文本传递到
Enum.Parse
,这将返回具有指定名称的枚举值。

如何将字符串映射到键,将其他字符串映射到修饰符

地图 地图

这将避免在代码中进行大量if-else字符串比较


编辑:事实上,我想我过去也用过安迪的建议。

把你的字符串映射到键,把其他字符串映射到修饰符怎么样

地图 地图

这将避免在代码中进行大量if-else字符串比较

编辑:事实上,我想我过去也用过安迪的建议