Объект, подобный ListViewItem
, не существует для ListBox
. Это одна из причин того, что управление ListBox
было заменено элементом управления ListView
. Для того, чтобы получить ListViewItem
как функциональность из ListBox
управления вы должны реализовать свой собственный объект
class ListBoxItem
{
public string Text { get; set; }
public string Tag { get; set; }
public ListBoxItem(string text, string tag)
{
this.Text = text;
this.Tag = tag;
}
}
Для заполнения ListBox
с пользовательского объекта просто сделать:
listbox.DisplayMember = "Text";
listbox.Items.Add(new ListBoxItem("ss", "dd"));
Где .DisplayMember
свойство ListBox
является имя свойства вашего пользовательского объекта, которое должно отображаться пользователем ListBox
.
Если вам необходимо получить доступ к пользовательским объектам значения на основе вашей коллекции ListBox
элемента вы можете сделать простой бросок для извлечения этих значений:
MessageBox.Show(((ListBoxItem)listbox.Items[0]).Tag));
Если .Tag
свойства является значением "dd"
, что мы установили ранее
PS: Если вы приверженец конструкции, как я этот метод будет также работать с struct
EDIT: Если вы действительно мертв набор на использование ListViewItem
вы технически можете просто установив .DisplayMember
к (в вашем случае) .Text
свойства ListViewItem
объекта
СММ то тег не будете сохранены и всей целью использования ListViewItem потерян. PS: в случае, если вы говорите, что это должно быть просто «item.Text», поскольку оно уже является строкой – CBeTJlu4ok
Да, да, это может быть без toString, без которой вы можете обойтись, просто напишите, чтобы объяснить вам, что аргументы метода add() - это строка – user6095732
пользователь6095732 правильный. Метод Add() класса ListBox.ObjectCollection принимает только экземпляр объекта; нет перегрузки, которая принимает экземпляр ListBoxItem специально. Независимо от того, какой экземпляр объекта вы используете, есть метод ToString(), вызываемый для отображения пользователю. Я думаю, вы запутаете класс ListBox классом ListView, который является более привлекательным. – rclocher3