Keys Enum有哪些格式?

时间:2010-08-19 09:54:04

标签: .net string format key

我有下一个问题。我需要以文本形式表示按下的按键组合。我从 KeyEventArgs e 中获得了按键... 当我尝试使用以下代码时 e.KeyData.ToString(); 我有这样的话: N,控制 ....但我想得到 Ctrl + N 字符串。
我认为必须存在 String.Format 的特定格式,因为当我将类型的属性绑定到 DataGridView 时,我在表格单元格中看到字符串 Ctrl + N 。这意味着DataGridView可以做到这一点,我认为这不是手动完成的......

非常感谢!!

2 个答案:

答案 0 :(得分:2)

值可能会使用属于它的 TypeConverter 显示。

如果要模拟 DataGridView 的行为,则应使用

TypeConverter converter = TypeDescriptor.GetConverter(typeof(Keys));
string displayName = converter.ConvertToString(e.KeyData);

类型标有[TypeConverter(typeof(KeysConverter))],这是GetConverter应返回的内容。

答案 1 :(得分:0)

根据MSDN,没有任何内置功能可以做到这一点。我怀疑网格只是用“+”代替“+”。