Можно ли в ComboBox добавить дополнительную информацию? Я заполняю ComboBox из List, который содержит ID и Name Можно ли сделать так, что бы ComboBox по определенному индексу возвращал не только Name, но и реальный ID Иными словами, что по определенному индексу ComboBox лежали ID и Name, а на самой форме отображалось Name.
Да, можно добавить дополнительную информацию в ComboBox, чтобы при выборе элемента отображалось только определенное значение, но при этом можно получить и другие атрибуты этого элемента.
Для этого вам нужно создать класс или структуру, которая содержит два поля: ID и Name. Затем заполнить ваш List этими объектами вместо просто строк.
После этого вы можете привязать ваш ComboBox к этому List и использовать определенный индекс для получения как Name, так и ID элемента.
Пример кода на C#:
public partial class Form1 : For
public class Ite
public int ID { get; set; public string Name { get; set; public override string ToString(
return Name
private List<Item> items = new List<Item>() public Form1(
InitializeComponent() items.Add(new Item { ID = 1, Name = "Item 1" }) items.Add(new Item { ID = 2, Name = "Item 2" }) items.Add(new Item { ID = 3, Name = "Item 3" }) comboBox1.DataSource = items comboBox1.DisplayMember = "Name"
private void button1_Click(object sender, EventArgs e
int selectedIndex = comboBox1.SelectedIndex if (selectedIndex != -1
В этом примере ComboBox заполняется объектами типа Item, содержащими ID и Name. В обработчике нажатия кнопки вы можете получить выбранный элемент ComboBox и получить как Name, так и ID этого элемента.
Да, можно добавить дополнительную информацию в ComboBox, чтобы при выборе элемента отображалось только определенное значение, но при этом можно получить и другие атрибуты этого элемента.
Для этого вам нужно создать класс или структуру, которая содержит два поля: ID и Name. Затем заполнить ваш List этими объектами вместо просто строк.
После этого вы можете привязать ваш ComboBox к этому List и использовать определенный индекс для получения как Name, так и ID элемента.
Пример кода на C#:
public partial class Form1 : Forpublic class Ite
public int ID { get; set;
public string Name { get; set;
public override string ToString(
return Name
private List<Item> items = new List<Item>()
public Form1(
InitializeComponent()
items.Add(new Item { ID = 1, Name = "Item 1" })
items.Add(new Item { ID = 2, Name = "Item 2" })
items.Add(new Item { ID = 3, Name = "Item 3" })
comboBox1.DataSource = items
comboBox1.DisplayMember = "Name"
private void button1_Click(object sender, EventArgs e
int selectedIndex = comboBox1.SelectedIndex
if (selectedIndex != -1
Item selectedItem = items[selectedIndex]
MessageBox.Show($"Selected Item Name: {selectedItem.Name}, Selected Item ID: {selectedItem.ID}")
}
В этом примере ComboBox заполняется объектами типа Item, содержащими ID и Name. В обработчике нажатия кнопки вы можете получить выбранный элемент ComboBox и получить как Name, так и ID этого элемента.