Я пишу код, чтобы получить все элементы управления на панели, как:Получить все элементы управления в панели от Up-к-вниз
foreach (Control c in panel1.Controls)
{
MessageBox.Show(c.Name.ToString());
}
Это правильно и вернуть мне все элементы управления. TabIndex для Top управления (textBox1) является 0, и он увеличится с до-до-вниз (это означает, что TextBox2 ниже textBox1 и TabIndex TextBox2 является 1.)
Когда я запускаю этот код в MessageBox это возвращение сначала мне textBox2, затем textBox1!
Итак, Какова база для этого выбора (Почему компьютер сначала выбирает текстовое поле2)?
Как я могу решить эту проблему?!
поблагодарить у
Это зависит от того, как вы добавили их во время разработки –
Вы используете Visual Studio WinForms Designer для создания своей формы? Если это так, VS будет автоматически генерировать код для элементов управления, и может быть, что 'textBox1' добавляется после' textBox2', что, очевидно, приводит к тому, что 'textBox2' возвращается сначала на итерации. Кроме того, проведя небольшое исследование, вы могли бы прочитать о [Коллекциях] (http://msdn.microsoft.com/en-us/library/ybcx56wz.aspx) ... –
Да, спасибо –