Переименовать элемент в виде списка c # WinForms - PullRequest
2 голосов
/ 28 декабря 2010

Я хотел бы знать, как я могу изменить имя элемента ListView в традиционном режиме выбора> F2> изменить> ввод. Как я могу открыть это маленькое редактируемое текстовое поле над элементом?

Ответы [ 4 ]

7 голосов
/ 28 декабря 2010

Установите для свойства LabelEdit значение true.Добавьте обработчик события KeyDown, чтобы распознать нажатие клавиши F2.Как это:

    private void listView1_KeyDown(object sender, KeyEventArgs e) {
        if (e.KeyData == Keys.F2 && listView1.SelectedItems.Count > 0) {
            listView1.SelectedItems[0].BeginEdit();
        }
    }
3 голосов
/ 28 декабря 2010

Самый простой ответ - использовать ListView, в который встроена эта функция.
Установите для свойства LabelEdit значение true.

2 голосов
/ 28 декабря 2010

В ListBox отсутствует свойство выбранного элемента, которое можно использовать для обновления текста.Это объект или любой тип, а не простой текст.Как упоминалось в SLaks, вы можете представить ListView как ListBox и использовать событие LabelEdit для изменения текста выбранного элемента.

0 голосов
/ 02 августа 2014
private void listView1_KeyDown(object sender, KeyEventArgs e) {
    if (e.KeyData == Keys.F2 && listView1.SelectedItems.Count > 0) {
       listView1.LabelEdit = true; 
       listView1.SelectedItems[0].BeginEdit();
    }
}
...