我有下一个问题。我需要以文本形式表示按下的按键组合。我从 KeyEventArgs e 中获得了按键...
当我尝试使用以下代码时
e.KeyData.ToString(); 我有这样的话: N,控制 ....但我想得到 Ctrl + N 字符串。
我认为必须存在 String.Format 的特定格式,因为当我将类型键的属性绑定到 DataGridView 时,我在表格单元格中看到字符串 Ctrl + N 。这意味着DataGridView可以做到这一点,我认为这不是手动完成的......
非常感谢!!
答案 0 :(得分:2)
键值可能会使用属于它的 TypeConverter 显示。
如果要模拟 DataGridView 的行为,则应使用
TypeConverter converter = TypeDescriptor.GetConverter(typeof(Keys));
string displayName = converter.ConvertToString(e.KeyData);
键类型标有[TypeConverter(typeof(KeysConverter))]
,这是GetConverter
应返回的内容。
答案 1 :(得分:0)
根据MSDN,没有任何内置功能可以做到这一点。我怀疑网格只是用“+”代替“+”。