Цикл через текстовые поля - PullRequest
       26

Цикл через текстовые поля

15 голосов
/ 01 февраля 2011

У меня есть приложение winforms, которое имеет 37 текстовых полей на экране.Каждый из них последовательно пронумерован:

DateTextBox0
DateTextBox1 ...
DateTextBox37

Я пытаюсь перебрать текстовые поля и назначить каждому значение:

int month = MonthYearPicker.Value.Month;
int year = MonthYearPicker.Value.Year;
int numberOfDays = DateTime.DaysInMonth(year, month);

m_MonthStartDate = new DateTime(year, month, 1);
m_MonthEndDate = new DateTime(year, month, numberOfDays);

DayOfWeek monthStartDayOfWeek = m_MonthStartDate.DayOfWeek;
int daysOffset = Math.Abs(DayOfWeek.Sunday - monthStartDayOfWeek);

for (int i = 0; i <= (numberOfDays - 1); i++)
{
 //Here is where I want to loop through the textboxes and assign values based on the 'i' value
   DateTextBox(daysOffset + i) = m_MonthStartDate.AddDays(i).Day.ToString();
}

Позвольте мне уточнить, что эти текстовые поля появляются на отдельныхпанели (37 из них).Таким образом, для того чтобы я мог выполнить цикл с помощью foreach, я должен пройти через основные элементы управления (панели), а затем просмотреть элементы управления на панелях.Это начинает усложняться.

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

Ответы [ 12 ]

0 голосов
/ 01 февраля 2011

Поскольку вы уже знаете имя элемента управления, поэтому вы можете искать элемент управления по его имени.

См. Получить элемент управления Windows Forms по имени в C #

0 голосов
/ 01 февраля 2011

После вызова InitialiseComponents() добавьте текстовые поля в переменную-член коллекции на форме.Затем вы можете просмотреть их по порядку позже.

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