Вы можете использовать обычный элемент управления ComboBox, но с небольшой настройкой.Каждый элемент, добавляемый в ComboBox, представляет собой object
, и при рендеринге он вызывает метод ToString()
.
. Мы можем создать собственный класс для добавления в качестве элемента ComboBox:
public class ComboBoxItem
{
public ComboBoxItem(string value, string text)
{
Value = value;
Text = text;
}
public string Value { get; set; }
public string Text { get; set; }
public override string ToString()
{
return Text;
}
}
Теперь вы можете создать экземпляр вышеупомянутого класса и добавить в коллекцию ComboxBox.Items
.
private void Form1_Load(object sender, EventArgs e)
{
comboBox1.Items.Add(new ComboBoxItem("1", "Green"));
comboBox1.Items.Add(new ComboBoxItem("2", "Blue"));
comboBox1.Items.Add(new ComboBoxItem("3", "Yellow"));
}
И вы можете получить доступ к выбранному элементу, который является экземпляром CombBoxItem
, приведя comboBox1.SelectedItem
кCombBoxItem
var comboBoxItem = (ComboBoxItem) comboBox1.SelectedItem;
comboBoxItem.Text //Green/Blue/Yellow
comboBoxItem.Value //1/2/3