2010-08-19 48 views
1

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

非常感谢!

回答

2

值可能是使用TypeConverter归属它显示。

如果你想效仿的DataGridView的行为,你应该使用

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

类型标记[TypeConverter(typeof(KeysConverter))],这是GetConverter应该返回。

0

根据MSDN,没有什么内置的要做到这一点。我怀疑网格只是替代“+”,而不是“+”。