如何将字符转换为等效的 System.Windows.Input.Key Enum 值?

2024-03-03

我想写一个这样的函数,

        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));
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将字符转换为等效的 System.Windows.Input.Key Enum 值? 的相关文章

  • pthread_cond_timedwait() 和 pthread_cond_broadcast() 解释

    因此 我在堆栈溢出和其他资源上进行了大量搜索 但我无法理解有关上述函数的一些内容 具体来说 1 当pthread cond timedwait 因为定时器值用完而返回时 它如何自动重新获取互斥锁 互斥锁可能被锁定在其他地方 例如 在生产者
  • 从父类调用子类方法

    a doStuff 方法是否可以在不编辑 A 类的情况下打印 B did stuff 如果是这样 我该怎么做 class Program static void Main string args A a new A B b new B a
  • 未解决的包含:“cocos2d.h” - Cocos2dx

    当我在 Eclipse 中导入 cocos2dx android 项目时 我的头文件上收到此警告 Unresolved inclusion cocos2d h 为什么是这样 它实际上困扰着我 该项目可以正确编译并运行 但我希望这种情况消失
  • linux perf:如何解释和查找热点

    我尝试了linux perf https perf wiki kernel org index php Main Page今天很实用 但在解释其结果时遇到了困难 我习惯了 valgrind 的 callgrind 这当然是与基于采样的 pe
  • 如何忽略“有符号和无符号整数表达式之间的比较”?

    谁能告诉我必须使用哪个标志才能使 gcc 忽略 有符号和无符号整数表达式之间的比较 警告消息 gcc Wno sign compare 但你确实应该修复它警告你的比较
  • 当 contains() 工作正常时,xpath 函数ends-with() 工作时出现问题

    我正在尝试获取具有以特定 id 结尾的属性的标签 like span 我想获取 id 以 国家 地区 结尾的跨度我尝试以下xpath span ends with id Country 但我得到以下异常 需要命名空间管理器或 XsltCon
  • 将目录压缩为单个文件的方法有哪些

    不知道怎么问 所以我会解释一下情况 我需要存储一些压缩文件 最初的想法是创建一个文件夹并存储所需数量的压缩文件 并创建一个文件来保存有关每个压缩文件的数据 但是 我不被允许创建许多文件 只能有一个 我决定创建一个压缩文件 其中包含有关进一步
  • 在.rdlc报告的底部设置一个文本框

    我在 rdlc 报告中使用 tablix 有一个文本框 其中包含文本 签名 我想将此文本框放置在报告最后一页的底部 就在页脚之前 我已经用谷歌搜索了这个解决方案 但没有找到满意的结果 我的环境是VS2010 framework 4 0 有什
  • WPF TabControl,用C#代码更改TabItem的背景颜色

    嗨 我认为这是一个初学者的问题 我搜索了所有相关问题 但所有这些都由 xaml 回答 但是 我需要的是后台代码 我有一个 TabControl 我需要设置其项目的背景颜色 我需要在选择 取消选择和悬停时为项目设置不同的颜色 非常感谢你的帮助
  • 指针减法混乱

    当我们从另一个指针中减去一个指针时 差值不等于它们相距多少字节 而是等于它们相距多少个整数 如果指向整数 为什么这样 这个想法是你指向内存块 06 07 08 09 10 11 mem 18 24 17 53 7 14 data 如果你有i
  • C# 中的递归自定义配置

    我正在尝试创建一个遵循以下递归结构的自定义配置部分
  • 将自定义元数据添加到 jpeg 文件

    我正在开发一个图像处理项目 C 我需要在处理完成后将自定义元数据写入 jpeg 文件 我怎样才能做到这一点 有没有可用的图书馆可以做到这一点 如果您正在谈论 EXIF 元数据 您可能需要查看exiv2 http www exiv2 org
  • Discord.net 无法在 Linux 上运行

    我正在尝试让在 Linux VPS 上运行的 Discord net 中编码的不和谐机器人 我通过单声道运行 但我不断收到此错误 Unhandled Exception System Exception Connection lost at
  • 如何在 VBA 中声明接受 XlfOper (LPXLOPER) 类型参数的函数?

    我在之前的回答里发现了问题 https stackoverflow com q 19325258 159684一种无需注册即可调用 C xll 中定义的函数的方法 我之前使用 XLW 提供的注册基础结构 并且使用 XlfOper 类型在 V
  • 插入记录后如何从SQL Server获取Identity值

    我在数据库中添加一条记录identity价值 我想在插入后获取身份值 我不想通过存储过程来做到这一点 这是我的代码 SQLString INSERT INTO myTable SQLString Cal1 Cal2 Cal3 Cal4 SQ
  • C - 直接从键盘缓冲区读取

    这是C语言中的一个问题 如何直接读取键盘缓冲区中的数据 我想直接访问数据并将其存储在变量中 变量应该是什么数据类型 我需要它用于我们研究所目前正在开发的操作系统 它被称为 ICS OS 我不太清楚具体细节 它在 x86 32 位机器上运行
  • 32 位到 64 位内联汇编移植

    我有一段 C 代码 在 GNU Linux 环境下用 g 编译 它加载一个函数指针 它如何执行并不重要 使用一些内联汇编将一些参数推送到堆栈上 然后调用该函数 代码如下 unsigned long stack 1 23 33 43 save
  • Process.Start 阻塞

    我正在调用 Process Start 但它会阻止当前线程 pInfo new ProcessStartInfo C Windows notepad exe Start process mProcess new Process mProce
  • x86 上未对齐的指针

    有人可以提供一个示例 将指针从一种类型转换为另一种类型由于未对齐而失败吗 在评论中这个答案 https stackoverflow com questions 544928 reading integer size bytes from a
  • 如何使用 std::string 将所有出现的一个字符替换为两个字符?

    有没有一种简单的方法来替换所有出现的 in a std string with 转义 a 中的所有斜杠std string 完成此操作的最简单方法可能是boost字符串算法库 http www boost org doc libs 1 46

随机推荐

  • 如何使用 dplyr 将函数应用于所有非 group_by 列?

    我正在尝试使用 dplyr 包将函数应用于 data frame 中未分组的所有列 我将使用aggregate aggregate Species data iris mean where mean应用于所有未用于分组的列 是的 我知道我可
  • 在 C# 中实现进度条的正确方法

    我正在学习 winforms 我给自己设定了一个简单的目标 即制作一个从空到满的进度条 这是我的畸形尝试 public partial class Form1 Form static BackgroundWorker bw new Back
  • Rails,使用控制器中文件的内容

    我有一个文件在config目录 比方说 my policy txt 我想在控制器中使用该文件的内容 就像使用简单的字符串一样 policy content of config my policy txt 如何实现这个目标 Rails是否提供
  • C 中函数指针语法的用途是什么?

    编辑 有人指出这个问题有点令人困惑 简短的版本是 为什么有一个单独的指针变量 例如 fnPtr 它指向一个函数 例如 fn 当函数名fn本身 没有参数 已经是一个指针 编辑 我正在尝试了解一些内容 并且可以使用社区有关函数指针的反馈 虽然这
  • iText 表格行距从右到左方向(阿拉伯语)

    我的应用程序是用英语和阿拉伯语两个不同版本开发的 我在 iText 中使用 rowspan 和 colspan 创建了 pdf 表 该表在英语版本中完美运行 但在阿拉伯语版本中 rowspan 不起作用 当我使用 setRunDirecti
  • 花式盒子 - 如何从单个缩略图显示幻灯片

    我的缩略图是分页的 因此任何一页上只有 6 个缩略图 大约 4 页 一个类别中总共 24 张图像 如果我将其设置在其中一个页面上 它只会显示该页面上的 6 个相关图像 如何使用 Fancybox 显示所有 24 张图像的幻灯片 提前谢谢了
  • 使用 moment.js 检查日期格式

    我正在从屏幕上的日历中获取这种类型的输入 DD MMM YYYY HH mm a 但用户可以从键盘提供日期 现在我必须检查用户是否以正确的格式提供了日期 我在我的应用程序中大量使用 moment js 并像这样验证它 if angular
  • 计算中位数移动平均单位成本时使用 Over(Partition By)

    早上好 我正在尝试计算特定仓库中每件商品的 12 个月移动平均成本 MAUC 我正在使用 2012 B 分页技巧来计算中位价格 http sqlperformance com 2012 08 t sql queries median htt
  • 在 Xcode 6.0.1 中使用仪器进行分析时应用程序挂起

    我观察到 每当我使用 Xcode 6 0 1 中的工具分析我的应用程序时 每次浏览应用程序时应用程序都会挂起 我正在使用 iPhone 5S iOS 8 0 2 来运行我的应用程序 当我在设备上运行该应用程序时 它运行得很好 找到修复 禁用
  • 使用 php 将事件插入谷歌日历

    如何将活动插入 Google 日历 我正在使用本指南 https developers google com google apps calendar v3 reference events insert https developers
  • 在android上使用ormlite删除?

    我有一个客户端 bean DatabaseField columnName client id generatedId true useGetSet true private Integer clientId DatabaseField c
  • 如何在网页视图中播放本地 swf 文件

    我正在尝试在 webview 中播放本地 swf 文件 保存在 asset 或 sdcard 中 但我没有运气 任何人都可以指导我正确的方法吗 我可以通过 url 播放 swf 文件 但是在 webview 中播放本地文件时遇到困难 swf
  • 如何使用 gson 库将字符串转换为 JsonObject

    请指教如何转换String to JsonObject using gson图书馆 我不成功的做法 String string abcde Gson gson new Gson JsonObject json new JsonObject
  • 如何忽略部分文本并在剩余部分进行搜索和替换? [复制]

    这个问题在这里已经有答案了 在文本文件中进行正则表达式查找和替换时 我想跳过并忽略文本的某些片段 也就是说 应该将文本的某些部分排除在搜索之外 而只对其余部分进行搜索和替换 标准是 1 任何介于START and END应从搜索和替换中排除
  • 通过 Enum 快速递增

    我喜欢 Swift 允许使用枚举方法 我正在尝试使用一种方法 但正在寻找一种更具可扩展性的方法来执行此操作 enum CopyState case binary hex both init self both mutating func n
  • 转换运算符:gcc 与 clang

    考虑以下代码 https godbolt org z s17aoczj6 https godbolt org z s17aoczj6 template
  • 使用 D3 创建 DIV 动态列表

    我一直在使用D3 http d3js org创建精美的动画图表 并且示例很棒 然而 我正在尝试做一些看似更基本的事情 但遇到了麻烦 将数据绑定到简单的 DIV 列表 我设置了enter 以不透明度 0 初始化元素 transition 让它
  • 使用尺寸类别时 UITableViewCell 子视图报告不正确的宽度

    由于某种原因 当在 xcode 6 中使用尺寸类时 我的单元格中的子视图宽度不正确 我有一个UIImageView使用自动布局调整大小 常量 顶部 左 右 底部为 10 当从以下位置调用以下内容时tableView tableView UI
  • jQuery 'mmenu' 打开时的回调事件

    使用 jQuery菜单插件 http mmenu frebsite nl 我需要在菜单打开后调用 JavaScript 函数 我看不到从API文档 http mmenu frebsite nl documentation api html如
  • 如何将字符转换为等效的 System.Windows.Input.Key Enum 值?

    我想写一个这样的函数 public System Windows Input Key ResolveKey char charToResolve Code goes here that resolves the charToResolve