как получить все элементы управления на странице формы Windows - PullRequest
0 голосов
/ 28 октября 2011

У меня есть окна формы; и на нем есть несколько элементов управления.
Я хочу, чтобы они были в цикле foreach для вызова метода Clear () каждого элемента управления, чтобы сделать его понятным и повторно инициализированным элементом.

Как я могу это сделать? **

Когда я нахожусь в режиме отладки в режиме отладки Vs 2008, я вижу «это», таким образом, я могу видеть их всех внутри него.

.net версия: 2.0

Ответы [ 3 ]

2 голосов
/ 28 октября 2011

Возможно, у вас есть элементы управления для элементов управления и т. Д. Поэтому было бы неплохо поместить код Дмитрия Ерохина в рекурсивную функцию:

private void ClearNumberEntries(ControlCollection controls)
{
    foreach (Control ctrl in controls)
    {
        if (ctrl is NumberEntry)
        {
            ((NumberEntry)ctrl).Clear();
        }
        //if you are sure a NumberEntry can never have child controls that could also be of type NumberEntry you can put this in an else in stead
        ClearNumberEntries(ctrl.Controls);
    }
}
1 голос
/ 28 октября 2011

Вы можете перебирать элементы управления следующим образом:

foreach (Control ctrl in this.Controls)
{
    if (ctrl is NumberEntry)
    {
        ((NumberEntry)ctrl).Clear();
    }
}
0 голосов
/ 28 октября 2011

для повторной инициализации элементов управления не нужно очищать каждый элемент управления, просто очистите элементы управления в форме и вызовите InitializeComponent ()

 private void InitializeControls()
        {
            this.Controls.Clear();
            InitializeComponent();
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...