Обработка всех элементов формы - VB2008

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

stavdius
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 17.03.2010 (Ср) 10:48

Обработка всех элементов формы - VB2008

Сообщение stavdius » 25.03.2010 (Чт) 18:16

Добрый день!
Подскажите, как обработать все элементы формы (определенного типа) Panel.

На форме их 12 шт. Например при нажатие кнопки, все 12 шт. скрыть.

Нашел пример: Но не могу применить его.
For Each ClearFields As Control In Me.Controls
If (TypeOf ClearFields Is Label) Then
ClearFields.BackColor = Color.Aqua
End If
Next

Комбо-Бокс у меня находится в GroupBox. Panel находится на закладке TabControl.
При выборе значения в комбо бокс, панели должны скрываться, а одна отображаться.

Спасибо

FireFenix
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1640
Зарегистрирован: 25.05.2007 (Пт) 10:24
Откуда: Mugen no Sora

Re: Обработка всех элементов формы - VB2008

Сообщение FireFenix » 25.03.2010 (Чт) 19:25

Рекурсия по вложенным контролам или задавать перебор контролов в указанной вкладке/гроупбоксе
Птицей Гермеса меня называют, свои крылья пожирая... сам себя я укрощаю
私はヘルメスの鳥 私は自らの羽根を喰らい 飼い慣らされる

stavdius
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 17.03.2010 (Ср) 10:48

Re: Обработка всех элементов формы - VB2008

Сообщение stavdius » 25.03.2010 (Чт) 20:18

FireFenix писал(а):Рекурсия по вложенным контролам или задавать перебор контролов в указанной вкладке/гроупбоксе

Сейчас, я делаю так, ноя понимаю чтэт не верно:
Я хочу перебрать все Panel в определенной вкладке, и задать им определенные свойства.

Код: Выделить всё
Select Case cmb_CauseTreatment.SelectedIndex
            Case 0
                Panel_0.Visible = False
                Panel_0.Dock = DockStyle.Fill
                Panel_0.SendToBack()

                Panel_1.Visible = True
                Panel_1.Dock = DockStyle.Fill
                Panel_1.BringToFront()

                Panel_2.Visible = False
                Panel_2.Dock = DockStyle.Fill
                Panel_2.SendToBack()

                Panel_3.Visible = False
                Panel_3.Dock = DockStyle.Fill
                Panel_3.SendToBack()

                Panel_4.Visible = False
                Panel_4.Dock = DockStyle.Fill
                Panel_4.SendToBack()

                Panel_5.Visible = False
                Panel_5.Dock = DockStyle.Fill
                Panel_5.SendToBack()

                Panel_6.Visible = False
                Panel_6.Dock = DockStyle.Fill
                Panel_6.SendToBack()

                Panel_7.Visible = False
                Panel_7.Dock = DockStyle.Fill
                Panel_7.SendToBack()

                Panel_8.Visible = False
                Panel_8.Dock = DockStyle.Fill
                Panel_8.SendToBack()

                Panel_9.Visible = False
                Panel_9.Dock = DockStyle.Fill
                Panel_9.SendToBack()

                Panel_10.Visible = False
                Panel_10.Dock = DockStyle.Fill
                Panel_10.SendToBack()

                Panel_11.Visible = False
                Panel_11.Dock = DockStyle.Fill
                Panel_11.SendToBack()

                Panel_12.Visible = False
                Panel_12.Dock = DockStyle.Fill
                Panel_12.SendToBack()
            Case 1
                Panel_0.Visible = False
                Panel_0.Dock = DockStyle.Fill
                Panel_0.SendToBack()

                Panel_1.Visible = False
                Panel_1.Dock = DockStyle.Fill
                Panel_1.SendToBack()

                Panel_2.Visible = True
                Panel_2.Dock = DockStyle.Fill
                Panel_2.BringToFront()

                Panel_3.Visible = False
                Panel_3.Dock = DockStyle.Fill
                Panel_3.SendToBack()

                Panel_4.Visible = False
                Panel_4.Dock = DockStyle.Fill
                Panel_4.SendToBack()

                Panel_5.Visible = False
                Panel_5.Dock = DockStyle.Fill
                Panel_5.SendToBack()

                Panel_6.Visible = False
                Panel_6.Dock = DockStyle.Fill
                Panel_6.SendToBack()

                Panel_7.Visible = False
                Panel_7.Dock = DockStyle.Fill
                Panel_7.SendToBack()

                Panel_8.Visible = False
                Panel_8.Dock = DockStyle.Fill
                Panel_8.SendToBack()

                Panel_9.Visible = False
                Panel_9.Dock = DockStyle.Fill
                Panel_9.SendToBack()

                Panel_10.Visible = False
                Panel_10.Dock = DockStyle.Fill
                Panel_10.SendToBack()

                Panel_11.Visible = False
                Panel_11.Dock = DockStyle.Fill
                Panel_11.SendToBack()

                Panel_12.Visible = False
                Panel_12.Dock = DockStyle.Fill
                Panel_12.SendToBack()
            Case 2
                Panel_0.Visible = False
                Panel_0.Dock = DockStyle.Fill
                Panel_0.SendToBack()

                Panel_1.Visible = False
                Panel_1.Dock = DockStyle.Fill
                Panel_1.SendToBack()

                Panel_2.Visible = False
                Panel_2.Dock = DockStyle.Fill
                Panel_2.SendToBack()

                Panel_3.Visible = True
                Panel_3.Dock = DockStyle.Fill
                Panel_3.BringToFront()

                Panel_4.Visible = False
                Panel_4.Dock = DockStyle.Fill
                Panel_4.SendToBack()

                Panel_5.Visible = False
                Panel_5.Dock = DockStyle.Fill
                Panel_5.SendToBack()

                Panel_6.Visible = False
                Panel_6.Dock = DockStyle.Fill
                Panel_6.SendToBack()

                Panel_7.Visible = False
                Panel_7.Dock = DockStyle.Fill
                Panel_7.SendToBack()

                Panel_8.Visible = False
                Panel_8.Dock = DockStyle.Fill
                Panel_8.SendToBack()

                Panel_9.Visible = False
                Panel_9.Dock = DockStyle.Fill
                Panel_9.SendToBack()

                Panel_10.Visible = False
                Panel_10.Dock = DockStyle.Fill
                Panel_10.SendToBack()

                Panel_11.Visible = False
                Panel_11.Dock = DockStyle.Fill
                Panel_11.SendToBack()

                Panel_12.Visible = False
                Panel_12.Dock = DockStyle.Fill
                Panel_12.SendToBack()

            Case 3
                Panel_0.Visible = False
                Panel_0.Dock = DockStyle.Fill
                Panel_0.SendToBack()

                Panel_1.Visible = False
                Panel_1.Dock = DockStyle.Fill
                Panel_1.SendToBack()

                Panel_2.Visible = False
                Panel_2.Dock = DockStyle.Fill
                Panel_2.SendToBack()

                Panel_3.Visible = True
                Panel_3.Dock = DockStyle.Fill
                Panel_3.BringToFront()

                Panel_4.Visible = False
                Panel_4.Dock = DockStyle.Fill
                Panel_4.SendToBack()

                Panel_5.Visible = False
                Panel_5.Dock = DockStyle.Fill
                Panel_5.SendToBack()

                Panel_6.Visible = False
                Panel_6.Dock = DockStyle.Fill
                Panel_6.SendToBack()

                Panel_7.Visible = False
                Panel_7.Dock = DockStyle.Fill
                Panel_7.SendToBack()

                Panel_8.Visible = False
                Panel_8.Dock = DockStyle.Fill
                Panel_8.SendToBack()

                Panel_9.Visible = False
                Panel_9.Dock = DockStyle.Fill
                Panel_9.SendToBack()

                Panel_10.Visible = False
                Panel_10.Dock = DockStyle.Fill
                Panel_10.SendToBack()

                Panel_11.Visible = False
                Panel_11.Dock = DockStyle.Fill
                Panel_11.SendToBack()

                Panel_12.Visible = False
                Panel_12.Dock = DockStyle.Fill
                Panel_12.SendToBack()

Dmitriy2003
Постоялец
Постоялец
 
Сообщения: 690
Зарегистрирован: 27.05.2003 (Вт) 22:47
Откуда: Deutschland

Re: Обработка всех элементов формы - VB2008

Сообщение Dmitriy2003 » 25.03.2010 (Чт) 20:57

Учимся пользоваться тегом Code
Код: Выделить всё
И перестаем постить ленты в 3 метра

1Steps
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 505
Зарегистрирован: 20.12.2006 (Ср) 0:50
Откуда: New York

Re: Обработка всех элементов формы - VB2008

Сообщение 1Steps » 26.03.2010 (Пт) 2:26

Нашел пример: Но не могу применить его.
А ты МСДН-ом почаще пользуйся.
И замени свою простынь на
Код: Выделить всё
        For Each p As Panel In Me.Controls.OfType(Of Panel)()
            p.BackColor = Color.Red
        Next
Удалена за ненадобностью.

MIT
Мега гуру
Мега гуру
Аватара пользователя
 
Сообщения: 2211
Зарегистрирован: 17.09.2006 (Вс) 22:46

Re: Обработка всех элементов формы - VB2008

Сообщение MIT » 26.03.2010 (Пт) 8:02

Да-а-а-а, портянка знатная.
1Steps писал(а):Controls.OfType
А если товарисч юзает второй фрэймворк, то примерно так:
Код: Выделить всё
    For Each p As Control In Me.Controls
      If TypeOf p Is Panel Then p.BackColor = Color.Red
    Next
Изображение
You can change your face, but can`t change your mind. No matter what you do.
Создайте еще более понятный интерфейс и мир создаст еще более тупого юзера. (с) Баш

stavdius
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 17.03.2010 (Ср) 10:48

Re: Обработка всех элементов формы - VB2008

Сообщение stavdius » 26.03.2010 (Пт) 14:54

MIT писал(а):Да-а-а-а, портянка знатная.
1Steps писал(а):Controls.OfType
А если товарисч юзает второй фрэймворк, то примерно так:
Код: Выделить всё
    For Each p As Control In Me.Controls
      If TypeOf p Is Panel Then p.BackColor = Color.Red
    Next



Да, я использую второй фрэймворк. Вставил код, но не каких изменений не произашло ((

stavdius
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 17.03.2010 (Ср) 10:48

Re: Обработка всех элементов формы - VB2008

Сообщение stavdius » 26.03.2010 (Пт) 14:58

stavdius писал(а): Да, я использую второй фрэймворк. Вставил код, но не каких изменений не произашло ((


Сейчас вынес панеьл и кнопку с кодом просто на форму. Все сработало.
Но, если кнопка и панель находится в ГрупБокс, или на вкладке, т он не срабатывает...
Или тут что то я не правильно делаю ?

stavdius
Начинающий
Начинающий
 
Сообщения: 22
Зарегистрирован: 17.03.2010 (Ср) 10:48

Re: Обработка всех элементов формы - VB2008

Сообщение stavdius » 26.03.2010 (Пт) 15:03

stavdius писал(а):
stavdius писал(а): Да, я использую второй фрэймворк. Вставил код, но не каких изменений не произашло ((


Сейчас вынес панеьл и кнопку с кодом просто на форму. Все сработало.
Но, если кнопка и панель находится в ГрупБокс, или на вкладке, т он не срабатывает...
Или тут что то я не правильно делаю ?



Вроде раоабрался. Спасибо!
Код: Выделить всё
  For Each p As Control In Me.TabPage4.Controls
            If TypeOf p Is Panel Then
                p.BackColor = Color.Red
            End If
        Next

[Viper] :: Пользуйся тэгом CODE! В следующий раз будет предупреждение!


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 8

    TopList