У меня есть несколько элементов управления, которые я создаю во время выполнения, а затем добавляю в какую-то форму контейнера (в моем случае панель). При создании элементов управления я также устанавливаю TabIndex для каждого из них. Теперь я начинаю с последнего элемента управления (текстовое поле № 4) и продвигаюсь вперед, чтобы первый элемент управления в конечном итоге оказался наверху.
Я принимаю во внимание, что я делаю это в обратном порядке при установке TabIndex
, но когда я на самом деле запускаю код и нажимаю клавишу Tab, он всегда переходит от # 4 -> # 3 -> # 2 -> # 1 (в порядок их создания, а не сверху вниз, как хотелось бы). При отладке я вижу, что все элементы управления TabIndex
установлены правильно (TextBox#1.TabIndex = 1,..., TextBox#4.TabIndex = 4). Я что-то упустил или есть обходной путь?
Код:
Panel pnl = new Panel();
(for int i = fields.Count -1; i <= 0; i--)
{
Label lbl = new Label();
//do some stuff with label
lbl.TabIndex = (i + 1);
pnl.Controls.Add(lbl);
}