将密钥转换为C#中的密钥

本文关键字:密钥 转换 | 更新日期: 2023-09-27 17:59:38

我想在ObjectModel中使用新的Key枚举,以避免在此Dll中引用Windows.Forms。GUI使用需要Keys枚举的类库。

是否可以以任何方式将Key值转换为Keys的值?

编辑:我刚刚发现我的问题已经在这里被问到并回答了:我如何转换';System.Windows.Input.Key';到';System.Windows.Forms.Keys';?

将密钥转换为C#中的密钥

您可以使用KeyInterop.VirtualKeyFromKey方法转换为Win32密钥,然后直接转换为winforms密钥。

我想说,如果你想使用在另一个程序集中声明的类型,在你的例子中是枚举,你应该在你自己的程序集中复制整个定义,基本上是再次声明它。

还有什么比这更糟的呢?是否有克隆的声明或引用windows.forms.dll?