У меня есть список пользовательских объектов, которые я добавил в элемент управления ListBox в моем приложении WinForms C # 4.0.
Когда пользователь выбирает определенный элемент в ListBox, свойства этого объекта появляются вокно рядом с ListBox в различных полях ввода.Пользователь может изменить их и нажать «Сохранить», чтобы изменить элементы данных объектов в соответствии с изменениями, внесенными пользователем.
Функция работает.Значения сохраняются в объекте, и когда пользователь снова выбирает элемент, подтверждается, что их изменения сохранены правильно.
Что не работает, так это обновление текста в ListBox.Например, если у нас есть список сотрудников в ListBox, и мы можем видеть там «Джона Смита», мы можем щелкнуть его имя - изменить его имя на «Джон Смит» и нажать «ОК».В ListBox по-прежнему отображается «Джон Смит», однако, если мы щелкнем по его имени, то в текстовых полях справа мы увидим, что его имя было правильно изменено на «Джон Смит».
Я попытался позвонитьметод Refresh () в ListBox, но это не сработало.
Я могу это исправить, удалив элемент из ListBox и добавив его снова.Это работает, и это на самом деле не проблема, потому что элементы хранятся в отдельных списках в любом случае, поэтому я не рискую потерять кого-либо из своих сотрудников.
Но действительно ли это лучший способ сделать это?Есть ли более элегантный способ обновить текст в ListBox, не удаляя и не добавляя элемент снова?