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 3

    // *** Получение значения при выборе в 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.