Книга: Программирование мобильных устройств на платформе .NET Compact Framework

Создание пользовательских элементов управления и перекрытие поведения существующих элементов управления

Создание пользовательских элементов управления и перекрытие поведения существующих элементов управления

В .NET Compact Framework допускается два вида наследования элементов управления: 1) создание пользовательского элемента управления с нуля, и 2) перекрытие поведения существующих элементов управления System.Windows.Forms.*, не связанного с их перерисовкой/визуализацией.

Прежде всего, следует сказать несколько слов о том, чего .NET Compact Framework (версия 1.1) не поддерживает: она, в отличие от .NET Framework, не позволяет разработчикам перекрывать визуальные характеристики перерисовки стандартных элементов управления. (Например, вы не можете использовать для наследования элементы управления Button, TreeView, TextBox или другие стандартные элементы управления, перекрывая при этом способ их перерисовки.) Это сделано в интересах функционирования внутренних механизмов.

Разработчик, желающий придать нестандартный внешний вид элементу управления в .NET Compact Framework, должен породить его от базового класса Control (System.Windows.Forms.Control), который допускает пользовательскую визуализацию элементов управления. В наибольшей степени такая возможность полезна в случае тех элементов управления, которые предлагают совершенно новые возможности взаимодействия с пользователем, а не тех, которые обеспечивают видоизмененное поведение существующих элементов управления. Элементарный пример того, как создать с нуля элемент управления с нестандартной визуализацией, приводится в главе 11; этот пример послужит вам отличной отправной точкой для создания аналогичного собственного элемента управления, если в этом возникнет необходимость.

Несмотря на то что .NET Compact Framework не поддерживает перекрытие поведения внутренних элементов управления, связанного с их визуализацией, она поддерживает перекрытие их функционального поведения. Существует два способа расширения возможностей внутренних элементов управления: 1) добавление дополнительных методов, свойств и событий, которые обеспечивают предоставление добавочной высокоуровневой функциональности, и 2) перекрытие существующих свойств и методов, для создания специфических возможностей. Хорошим примером, иллюстрирующим использованием обоих способов, является создание элемента TextBox, который осуществляет фильтрацию, принимая лишь входные данные определенного формата. Пример решения такой задачи представлен в листингах 13.3 и 13.4.

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


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