Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Разработка Windows Forms > Перебор компанентов формы


Автор: Dimyan 24.4.2006, 07:18
Есть форма являющаяся прототипо для наследования другими формами
В ее обработчике Load хочу сделать перебор всех компанентов для выставления у тех или инных одинаковых свойств (ну чтоб при добавлении каждого нового компанента одни и теже свойства не тыкать). Делаю так:
Код

     for (int i = 1; i <= this.Container.Components.Count; i++)
      {
        if (this.Container.Components[i] is DevExpress.XtraEditors.PanelControl)
        {
          (this.Container.Components[i] as DevExpress.XtraEditors.PanelControl).Appearance.BackColor = SystemColors.Control;
          (this.Container.Components[i] as DevExpress.XtraEditors.PanelControl).Appearance.Options.UseBackColor = true;
        }


На это получаю ошибку: Object reference not set to an instance of an object.

Поскажите как это можно правильно реализовать? 

Автор: mr.DUDA 24.4.2006, 11:02
Цитата
На это получаю ошибку: Object reference not set to an instance of an object.

На какой строчке вылетает исключение ? 

Автор: Dimyan 24.4.2006, 12:16
for (int i = 1; i <= this.Container.Components.Count; i++)

Добавлено @ 12:25 
пробывал foreach(IComponent in this.Container.Components)
та же ошибка smile 

Автор: Gesha 25.4.2006, 11:12
Код

           for (int i = 0; i < this.Controls.Count; i++)
            {
                   this.Controls[i].BackColor = SystemColors.Control;
            }


или

Код

            foreach (Control c in this.Controls)
            {
                c.BackColor = SystemColors.ControlDark;
            }
 

Автор: Quadr0 25.4.2006, 12:15
...

Автор: Gesha 25.4.2006, 12:31
to Quadr0

согласен, не учел 

Автор: Dimyan 26.4.2006, 05:01
Спасибо получилось! 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)