* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна!
Применение наборов элементов управления
7 февраля 2009
Любой элемент управления, способный выполнять функцию контейнера (в том числе и форма), поддерживает набор, состоящий из всех его вложенных элементов управления — набор элементов управления. У такого набора есть свойство Count, воз- вращающее число элементов набора, и свойство Item, возвращающее заданный эле- мент набора. У набора элементов управления также имеются члены-методы, позво- ляющие добавлять и удалять элементы из набора.
В Visual Basic .NET свойство Item возвращает элемент управления, заданный его параметром Index, определяющим индекс элемента в наборе. В Visual C# для вы- борки элемента из набора применяется индексатор (indexer), например, так: Visual Basic .NET Этот пример предполагает наличие формы myForm Dim aControl As Control aControI - myForrn. Controls. Item(3) Visual C# // Этот пример предполагает наличие формы myForm Control aControl; aControl ~ myForm.Controls[3]; Примечание Поскольку в Visual Basic .NET свойство Item задано в качестве свой- ства по умолчанию для набора элементов управления, при обращении к элементу набора ключевое слово Item можно опускать. Так, следующий пример эквивален- тен предыдущему. Visual Basic .NET Dim aControl as Control aControl = myForm.Controls(3) Методы Add и Remove позволяют динамически добавлять элементы управления к набору и удалять их из него. Следующий пример демонстрирует динамическое создание надписи элемента управления Label и добавление его к набору элементов управления формы myForm. Visual Basic .NET Dim aLabel as New Label() aLabel.Text = "This label is being added dynamically" myForm.Cont rols.Add(aLabel) Visual C# Label aLabel - new Label(); aLabel.Text = "This label is being added dynamically"; myForrn. Controls. Add(aLabel); Метод Remove удаляет элементы управления из набора, а метод RemoveAt удобен для удаления элементов управления с заданным индексом, например: Visual Basic .NET myForm.Controls.Remove(Buttonl) myFo rm.Cont rols.RemoveAt(3) Visual C# myFo rrn. Cont rols. Remove(Buttonl); myFo rm.Cont rols.RemoveAt(3); Аналогичный синтаксис применяется для добавления и удаления элементов из набора элементов-контейнеров, таких, как Panel или GroupBox. Следующий при- мер показывает динамическое добавление элемента управления к набору TabPages элемента управления TabControl'. Visual Basic .NET ' Этот пример предполагает наличие элемента управления rnyTabControl Dim aButton as New ButtonC) Эта команда добавляет новую кнопку на вкладку, которая входит 1 в набор TabPages объекта TabControl под индексом 1. myTabControl.TabPages(l).Controls.Add(aButton) Visual C# // Этот пример предполагает наличие элемента управления rnyTabCont rol Button aButton = new Buttonf); // Эта команда добавляет новую кнопку на вкладку, которая входит // в набор TabPages объекта TabControl под индексом 1. myTabControl.TabPages[1].Controls.Add(aButton);