Какие форматы доступны для Keys Enum? - PullRequest
1 голос
/ 19 августа 2010

У меня следующая проблема. Мне нужно представить комбинацию нажатых клавиш в текстовом виде. Я получил нажатые клавиши от KeyEventArgs e ... И когда я пытаюсь использовать следующий код e.KeyData.ToString (); Я получил что-то вроде этого: N, Control .... Но я хочу получить Ctrl + N string.
Я думаю, что должен присутствовать определенный формат для String.Format , потому что когда я связываю свойство с типом Ключи с DataGridView Я видел в строке ячейки таблицы Ctrl + N . Это означает, что DataGridView может сделать это, и я думаю, что это не делается вручную ...

Большое спасибо !!

Ответы [ 2 ]

2 голосов
/ 19 августа 2010

Значения Keys , вероятно, отображаются с использованием TypeConverter , принадлежащего ему.

Если вы хотите эмулировать поведение DataGridView , вам следует использовать

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

Тип Keys помечен [TypeConverter(typeof(KeysConverter))], что и должно возвращать GetConverter.

0 голосов
/ 19 августа 2010

Согласно MSDN , для этого нет ничего встроенного. Я подозреваю, что сетка просто заменяет "," на "+".

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...