Я пытаюсь сделать listbox в winform, чтобы использовать список объявленных объектов в качестве источника контента. Выбор объекта должен отображать его свойства в соседнем текстовом поле, которое считывает свойства этого объекта. Объект для списка выглядит следующим образом:Как использовать список winform для отображения объявленных объектов в C#?
public Form1()
{
Element gold = new Element();
gold.Property = "Soft";
gold.Metal = true;
gold.Name = "Gold";
InitializeComponent();
}
мне сказали, что положить это в моей основной форме был путь с этим. До сих пор я пытался указать строку имени, которую будет использовать список, чтобы назвать объект, который будет выбран пользователем, и другие два свойства (gold.Property = «Soft» и gold.Metal = true; предназначены для перейдите в близлежащее текстовое поле, когда элемент выбран в списке). Я действительно не знаю, как это сделать, поэтому любая помощь для этого будет оценена по достоинству. У базы просто зная, как получить список, чтобы найти объект, который я сделал для него, а затем перечислить его, было бы здорово.
Кроме того, да, это назначение. Итак, все, что я изложил, нужно сделать таким образом ... для самого присваивания больше, но где я застрял здесь.
Это было невероятно полезно, и мне было много, чтобы понять и работать с точки зрения добавления новых предметов. Однако, когда я впервые добавил «элемент» («золото»), он дал мне целую строку кода в списке. Итак, я сделал listbox1.Items.Add (element.Name); и это дало мне имя вместо этого. То, что вы мне дали, действительно хорошо для того, что я делаю. Огромное спасибо! Я бы поднял это, если бы мог. Я дам вам знать, как только я его реализую, если вы ответили на мою проблему. Еще раз спасибо. –
Обратите внимание, как я переопределил ToString() в классе Element() на ** внизу ** примера. Это то, что контролирует, как ListBox отображает ваш экземпляр. Без этого он просто отображает полное имя вашего класса, что не очень полезно. Я установил его, чтобы вернуть свойство Name(). Если вы вместо этого добавите 'element.Name' в ListBox, то вы ** проиграете ** другие связанные части данных, поскольку все, что вы добавляете, является простой старой строкой. Вы должны использовать 'listBox1.Items.Add (element)', чтобы все данные находились в ListBox (даже если вы видите только отображаемое там Имя). –