0

Я использовал в своем коде функцию, которая содержала в себе массив TextBox'ов и при вызове ее возвращала мне этот массив в любом участке кода.

private TextBox[] textBoxArray() 
{
   TextBox[] array = {tb1,tb2,tb3,tb4,tb5};
   return array;
}

Это нужно было, чтобы работать в циклах со всеми textBox'ами кратко.

private void openTextBox() 
{
   for (int i; i < textBoxArray().Length;i++) 
        textBoxArray()[i].Enabled = true;

}

С помощью этого я мог заполнить все textBox'ы данными из dataGridView

    for (int i = 0; i < dgv.Columns.Count; i++)
    {
        textBoxArray()[i].Text = dgv[i, rowIndex].Value.ToString();
    }

Теперь на моей форме появились comboBox'ы и dateTimePicker'ы и они находятся между textbox'ами. Заполнять последовательно с помощью такого массива не получается. Не подскажите что можно еще использовать для реализации обращения ко всем разом? Мне кажется, что обращаться к каждому по отдельности неправильно. Я пробовал создавать массив из object, но object не содержит Enabled

golzq ggg
  • 5
  • 2
  • Зачем вам Enabled у каждого? Если надо выключить все, можно Enabled задать у родителя. Поместите все контролы в любую панель и работайте с ней. По-хорошему, вам бы привязку данных освоить. https://ru.stackoverflow.com/a/1199692/373567 – aepot Mar 30 '22 at 11:59
  • Вообще у всех контролов есть общий родитель Control, следовательно можно создать массив Control[]. – aepot Mar 30 '22 at 12:05
  • 1
    @aepot, действительно, я смог создать общий массив с Control[]. Это помогло. Заинтересовали по поводу привязки данных. Обязательно узнаю. Благодарю. – golzq ggg Mar 30 '22 at 12:13

0 Answers0