Подтвердить что ты не робот

ComboBox.SelectedText не дает мне SelectedText

Я строю строку, и код выглядит как

String status = "The status of my combobox is " + comboBoxTest.SelectedText

Я использую WinForm в VS2010

Результат выглядит как

"Состояние моего списка со списком"

4b9b3361

Ответ 1

Я думаю, вы хотите использовать

String status = "The status of my combobox is " + comboBoxTest.Text

Свойство SelectedText из MSDN

Получает или задает текст, выбранный в редактируемой части ComboBox.

а свойство Text из MSDN

Получает или задает текст, связанный с этим элементом управления.

Ответ 2

Из документации:

Вы можете использовать свойство SelectedText для извлечения или изменения выбранного текста в элементе управления ComboBox. Однако вы должны знать, что выбор может автоматически изменяться из-за взаимодействия с пользователем. Например, если вы извлекаете значение SelectedText в кнопке Обработчик события Click, это значение будет пустой строкой. Это происходит потому, что выбор автоматически очищается, когда фокус ввода перемещается из комбинированного поля в кнопку.

Когда поле со списком теряет фокус, точка выбора перемещается в начало текста, и любой выделенный текст становится невыбранным. В этом случае получение свойства SelectedText возвращает пустую строку и установка свойства SelectedText добавляет указанное значение в начало текста.

Ответ 3

Я думаю, вам не нужно SelectedText, но вам может понадобиться

String status = "The status of my combobox is " + comboBoxTest.Text;

Ответ 4

Я столкнулся с этой проблемой за 5 минут до этого.

Я думаю, что решение (с visual studio 2005):

myString = comboBoxTest.GetItemText(comboBoxTest.SelectedItem);

Прости меня, если я ошибаюсь.

Ответ 5

Чтобы получить выбранный элемент, вы должны использовать свойство SELECTEDITEM для comboBox. И поскольку это объект, если вы хотите назначить его строке, вам нужно преобразовать его в строку с помощью метода ToString():

string myItem = comboBox1.SelectedItem.ToString(); //this does the trick

Ответ 6

Вот как я бы подошел к этой проблеме, предполагая, что вы хотите изменить текст слова, ярлык

    private void comboBoxtest_SelectedIndexChanged(object sender, EventArgs e)
    {
        var combotext = comboBoxtest.Text;
        var status = "The status of my combo box is" + combotext;
        label1.Text = status;
    }

Ответ 7

Попробуй это:

String status = "The status of my combobox is " + comboBoxTest.text;

Ответ 8

или попробуйте этот код

 String status = "The status of my combobox is " + comboBoxTest.SelectedItem.ToString();

Ответ 9

Если вы связываете свой Combobox с чем-то вроде KeyValuePair, со свойствами в конструкторе, например, так:

 DataSource = dataSource,
 DisplayMember = "Value",
 ValueMember = "Key"

поэтому dataSource имеет тип KeyValuePair...

Вам в конечном итоге придется сделать это...

  string v = ((KeyValuePair)((ComboBox)c).SelectedItem).Value;

(У меня была динамическая форма - где c был типа Control - поэтому пришлось привести его к ComboBox)