Книга: ЯЗЫК ПРОГРАММИРОВАНИЯ С# 2005 И ПЛАТФОРМА .NET 2.0. 3-е издание

Тип Control.ControlCollection

Тип Control.ControlCollection

Процедура добавления нового элемента в форму исключительно проста, но свойство Controls требует дополнительного обсуждения. Это свойство возвращает ссылку на вложенный класс с именем ControlCollection, определенный в рамках класса Control. Вложенный тип ControlCollection содержит все элементы управления, помещенные в данную форму. Вы можете получить ссылку на эту коллекцию, чтобы "рассмотреть список" дочерних элементов формы.

// Получение доступа к вложенной коллекции ControlCollection формы.
Control.ControlCollection coll = this.Controls;

Имея ссылку на эту коллекцию, вы можете манипулировать ее содержимым, используя члены, описания которых предлагаются в табл. 21.1.

Таблица 21.1. Члены ControlCollection

Член Описание
Add() AddRange() Используются для добавления в коллекцию нового производного от Control типа (или массива типов)
Clear() Удаляет все элементы из коллекции
Count Возвращает число элементов, имеющихся в коллекции
GetEnumerator() Возвращает интерфейс IEnumerator для данной коллекции
Remove() RemoveAt() Используются для удаления элемента из коллекции

Ввиду того, что форма поддерживает коллекцию элементов управления, в Windows Forms очень просто динамически создавать, удалять или как-то иначе обрабатывать визуальные элементы. Предположим, например, что вы хотите отключить все типы Button в данной форме (или выполнить иное подобное действие, например, изменить цвет фона всех TextBox). Для этого можно использовать ключевое слово is C#, чтобы обнаружить нужные элементы и соответственно изменить их состояние.

private void DisableAllButtos() {
 foreach (Control с in this.Controls) {
  if (c is Button) ((Button)c).Enabled = false;
 }
}

Исходный код. Проект ControlsByHand размещен в подкаталоге, соответствующем главе 21.

Оглавление книги

Оглавление статьи/книги

Генерация: 1.504. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз