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


Автор: flyerarchi 27.7.2009, 22:15
Всем доброго времени суток.
Только начал изучать C# и .Net
Подскажите, имеется набор элементов (кнопки, разделители и пр.) на панели управления (ToolStrip),
как пройти не по всем элементам панели, а только по кнопкам?
Таким  образом цикл проходит по всем элементам панели (причем, по отличным от кнопок - естественно с ошибками), ведь у ToolStrip есть только коллекция Items, как из них выделить ToolStripButton? 
Код

foreach (ToolStripButton btn in toolStrip1.Items)
            {
            }


Спасибо

Автор: diadiavova 27.7.2009, 22:29
Пройдись по всем, а нужные действия выполняй только с кнопками
Код

foreach (ToolStripItem itm in toolStrip1.Items)
            {
                 if(itm is ToolStripButton)
                 {
                      ToolStripButton btn = (ToolStripButton)itm;
                 }
            }


Или воспользоваться функцией-расширителем OfType

Код

foreach (ToolStripButton btn in toolStrip1.Items.OfType<ToolStripButton>())
            {
            }

это если пишешь под 3.5 фреймворк.

Автор: flyerarchi 27.7.2009, 22:36
Большое спасибо! 

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