Как установить индекс ComboBox? - PullRequest
0 голосов
/ 14 сентября 2018

"Я понимаю, что заголовок вопроса может быть повторен, но не нашел решения, которое я ищу."

Групповое поле, содержащее около 50 элементов управления в комбинации текстовых полей и комбинированных списков. Я должен установить для них значение и не хочу писать 50 отдельных строк для установки значения для каждого элемента управления, поэтому я пришел с кодом ниже. Но это не работает в случае со списком. ИЛИ Если вы, ребята, можете предложить что-то лучшее, это было бы здорово.

if(controlsInGroupBox == editStep.Count)
{
    int i = 0;
    foreach (Control ctr in universalGroupBoxObject.Controls)
    {  
        if (ctr is TextBox)
        {
            ctr.Text = editStep[i];
        }
        if (ctr is ComboBox)
        {
            //ctr.SelectedIndex = cntrlObjListMain.comboBoxLocation.FindStringExact(editStep[i]);
           //ctr.SelectedIndex is not working
         }
        i++;
    }
}

1 Ответ

0 голосов
/ 14 сентября 2018

Если вы привязываете свои данные к комбинированному списку, то по умолчанию выбирается первый элемент, и вам не нужно его выбирать.

Е.Г.

List<string> items = new List<string>() { "aa", "bb", "cc", "dd" };

combobox1.DataSource = items;

SelectedIndex должен работать, пока у вас есть элементы в списке.

ctr.SelectedIndex = ctr.Items.Count > 0 ? 0 : -1;

Приведенное выше выберет элемент, если есть какие-либо элементы, в противном случае ничего не выберет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...