gpt4 book ai didi

c# - 如何将字符转换为等效的 System.Windows.Input.Key 枚举值?

转载 作者:可可西里 更新时间:2023-11-01 03:05:45 27 4
gpt4 key购买 nike

我想写一个这样的函数,

        public System.Windows.Input.Key ResolveKey(char charToResolve)
{
// Code goes here, that resolves the charToResolve
// in to the Key enumerated value
// (For example with '.' as the character for Key.OemPeriod)

}

我知道我可以写一个巨大的 Switch-case 来匹配角色,但还有其他方法吗?问题是 Key 枚举的字符串可能与字符不匹配,因此 Enum.IsDefined 将不起作用

有什么想法吗?

更新:这是在Windows环境下

最佳答案

[DllImport("user32.dll")]
static extern short VkKeyScan(char ch);

static public Key ResolveKey(char charToResolve)
{
return KeyInterop.KeyFromVirtualKey(VkKeyScan(charToResolve));
}

关于c# - 如何将字符转换为等效的 System.Windows.Input.Key 枚举值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/544141/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com