ComboBox: добавление текста и значения к объекту (никакой обязательный источник)

В C# WinApp, как я могу добавить и текст и Значение к объектам моего ComboBox? Я сделал поиск, и обычно ответы используют "Привязку к источнику".. но в моем случае у меня нет обязательного источника готовым в моей программе... Как может я делать что-то вроде этого:

combo1.Item[1] = "DisplayText";
combo1.Item[1].Value = "useful Value"
187
задан RustyTheBoyRobot 16 August 2011 в 07:38
поделиться

2 ответа

Вы должны создать свой собственный тип класса и переопределить метод 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());
}
342
ответ дан 23 November 2019 в 05:44
поделиться

Это один из способов, который только что пришел в голову:

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 в его ответе .

Также проверьте эти страницы, они могут помочь:

14
ответ дан 23 November 2019 в 05:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: