Определите, редактируется ли элемент управления .NET ListView

Я использую Windows Forms ListView в приложении C# и фиксирую в нем событие KeyDown, чтобы разрешить удаление строки с помощью клавиши Delete. Класс TreeView имеет свойство TreeNode.IsEditing, если оно мне понадобится, но я не смог найти его в классе ListView. Если пользователь редактирует метку ListViewItem, я хочу, чтобы клавиша Delete выполняла поведение по умолчанию, а не удаляла элемент. Есть ли какое-либо встроенное имущество, которое я могу использовать? Или мне нужно перехватывать события Before и AfterLabelEdit?

Редактировать: Извините, у меня было контекстное меню с сочетанием клавиш, установленным на клавишу «Удалить». Это вызываемое событие, а не событие KeyDown.


person Community    schedule 20.07.2009    source источник


Ответы (1)


Если вы подписаны на событие KeyDown в ListView, когда вы редактируете метку элемента, событие KeyDown не срабатывает.

person Stan R.    schedule 20.07.2009
comment
Ты совершенно прав. У меня была клавиша быстрого доступа контекстного меню, которая вызывалась. Есть ли способ сделать это элегантно? - person ; 20.07.2009
comment
взгляните на этот вопрос, он должен вам помочь. stackoverflow.com/questions/358973/delete-in-edit-menu - person Stan R.; 21.07.2009