How to get its text when choosing a value in ComboBox? SelectedValue, Selecteditem does not help. And how to add multiple values to the ComboBox without adding the same?
3 answers
// *** Получение значения при выборе в ComboBox // Подключаем обработчик события - если значение нужно в момент выбора // Обработчик события при выборе значения из списка private void comboBoxInfo_SelectedIndexChanged(object sender, EventArgs e) { // Первый способ MessageBox.Show(comboBoxInfo.SelectedItem.ToString()); // Второй способ MessageBox.Show(comboBoxInfo.Items[comboBoxInfo.SelectedIndex].ToString()); } // *** Добавление группы значений без повторения // Массив новых значений string[] newValue = { "Новое значение 1", "Новое значение 2", "Новое значение 3", "Новое значение 4" }; // Перебираем массив в цикле foreach (string val in newValue) { // Проверяем наличие в списке и если нет - добавляем if (comboBoxInfo.FindString(val) == -1) comboBoxInfo.Items.Add(val); }
In WPF, it’s almost the same, only the event handler will be called a little differently, and checking the presence of an element in the list will not be FindString, but Items.IndexOf (val). For WPF, it will be like this:
private void comboBoxInfo_SelectionChanged(object sender, SelectionChangedEventArgs e) { // Первый способ MessageBox.Show(comboBoxInfo.SelectedItem.ToString()); // Второй способ MessageBox.Show(comboBoxInfo.Items[comboBoxInfo.SelectedIndex].ToString()); // Массив новых значений string[] newValue = { "Новое значение 1", "Новое значение 2", "Новое значение 3", "Новое значение 4" }; // Перебираем массив в цикле foreach (string val in newValue) { // Проверяем наличие в списке и если нет - добавляем if (comboBoxInfo.Items.IndexOf(val) == -1) comboBoxInfo.Items.Add(val); } }
|
ComboBox1.SelectedItem.Content
- WPF does not have such a property SelectedText - Demon
- @Demon Answer corrected - Niki-Timofe
|
you can use comboBox4.DisplayMember.ToString()
then you can get the item displayed in the box.
|