Я застрял в этой проблеме с ComboBox
.
Мне нужно создать его программно, установить DataSource
, добавить его в мою форму и затем изменить SelectedIndex
.Я делаю это так:
rectangle = new Rectangle(x, y, width, height)
ComboBox cb = new ComboBox
{
Size = Rectangle.Size,
Location = Rectangle.Location,
DataSource = new List<string>(comboBoxDataSource),
};
Form1.Controls.Add(cb);
cb.SelectedIndex = index;
Когда программа доходит до этой последней строки, я выдаю сообщение об ошибке:
System.ArgumentOutOfRangeException: 'InvalidArgument = Value of«4» недопустимо для «SelectedIndex».Имя параметра: SelectedIndex '
Когда происходит сбой кода, я вижу, что ComboBox
содержит 6 элементов, поэтому не должен ли индекс' 4 'быть действительным на этом этапе?
Я прочитал несколько статей и другие вопросы о проблеме, но ничего, что я нашел, не помогло.Я думаю, это потому, что форма не создает дескриптор для ComboBox
, прежде чем я попытаюсь изменить индекс.
Есть ли кто-нибудь, кто сталкивался с подобной проблемой или знает решение?