В C# WinApp, как я могу добавить и текст и Значение к объектам моего ComboBox? Я сделал поиск, и обычно ответы используют "Привязку к источнику".. но в моем случае у меня нет обязательного источника готовым в моей программе... Как может я делать что-то вроде этого:
combo1.Item[1] = "DisplayText";
combo1.Item[1].Value = "useful Value"
Вы должны создать свой собственный тип класса и переопределить метод ToString (), чтобы вернуть текст, который вы хотеть. Вот простой пример класса, который вы можете использовать:
public class ComboboxItem
{
public string Text { get; set; }
public object Value { get; set; }
public override string ToString()
{
return Text;
}
}
Ниже приводится простой пример его использования:
private void Test()
{
ComboboxItem item = new ComboboxItem();
item.Text = "Item text1";
item.Value = 12;
comboBox1.Items.Add(item);
comboBox1.SelectedIndex = 0;
MessageBox.Show((comboBox1.SelectedItem as ComboboxItem).Value.ToString());
}
Это один из способов, который только что пришел в голову:
combo1.Items.Add (new ListItem ("Text", "Value"))
И чтобы изменить текст или значение элемента, это можно сделать так:
combo1.Items[0].Text = 'new Text';
combo1.Items[0].Value = 'new Value';
В Windows Forms нет класса с именем ListItem. Он существует только в ASP.NET , поэтому вам нужно будет написать свой собственный класс перед его использованием, как это сделал @Adam Markowitz в его ответе .
Также проверьте эти страницы, они могут помочь: