Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework
- Название:Программирование мобильных устройств на платформе .NET Compact Framework
- Автор:
- Жанр:
- Издательство:Издательский дом Вильямс
- Год:2006
- Город:Москва • Санкт-Петербург • Киев
- ISBN:5-8459-0989-9
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Иво Салмре - Программирование мобильных устройств на платформе .NET Compact Framework краткое содержание
Книга известного профессионала в области компьютерных технологий посвящена разработке приложений для широкого спектра мобильных устройств с использованием популярной и постоянно развивающейся платформы .NET Compact Framework. Уникальность этой книги состоит в том, что в ней гармонично переплетены теоретические сведения обо всем цикле разработки программного обеспечения с практическими примерами применения на языках С# и Visual Basic. Подробно рассматриваются концепции, лежащие в основе самой платформы .NET Compact Framework, а также вопросы, связанные с созданием эффективного пользовательского интерфейса, управлением памятью, производительностью и надежностью. Немалое внимание уделяется практическим аспектам разработки приложений для мобильных устройств, среди которых выбор модели представления и доступа к данным, внедрение коммуникационной модели, реализация модели поведения с помощью конечных автоматов и использование XML.
Книга рассчитана на разработчиков разной квалификации, а также может быть полезна для студентов и преподавателей соответствующих специальностей.
Программирование мобильных устройств на платформе .NET Compact Framework - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
1. Следует изменить имя и сигнатуру метода таким образом, чтобы они соответствовали тому, что требуется для обработчика событий Paint (например, protected void PaintEventHandler(object sender, PaintEventArgs e) вместо protected override void OnPaint(PaintEventArgs e)).
2. Вызов base.OnPaint (e) необходимо удалить, поскольку осуществление этого вызова не входит в обязанности обработчика событий. В действительности, именно базовая реализация base.OnPaint(e) вызывает любой зарегистрированный обработчик событий.
3. В функцию InitializeComponent формы необходимо добавить код для подключения нового обработчика событий. Например, добавьте такой код:
this.Paint += new System.Windows.Forms.PaintEventHandler(this.PaintEventHandler);
InitializeComponent();
Выбирая между обработчиком событий и механизмом наследования, вы можете руководствоваться собственными соображениями. Что касается меня, то для такой низкоуровневой работы, как подключение к обработке запросов перерисовки экрана (Paint), я предпочитаю использовать подход, основанный на механизме наследования, который мне более понятен. Для высокоуровневых событий, например щелчков (Click), я предпочитаю прибегать к подходу, основанному на использовании обработчиков событий, поскольку этот код автоматически генерируется для меня после двойного щелчка на элементе управления в окне конструктора форм.
Инкапсуляция графического кода в пользовательских элементах управления является неплохим способом упаковки графических функциональных возможностей, который обеспечивает повторное использование графики. Реализация таких пользовательских элементов управления весьма напоминает перекрытие функции Paint формы. Этот низкоуровневый подход предназначен для визуализации и поддержки отдельных компонентов пользовательского интерфейса вручную.
Пользовательские элементы управления оказываются полезными в тех случаях, когда вы хотите расширить интерактивность рабочей среды пользователей, имеющих дело с графическими данными. Если нужна диаграмма, которая динамически изменяется и обновляется при выполнении пользователем щелчков на различных ее участках, или сетка, пересчитывающая данные в процессе работы с ними пользователя, то наилучшим решением может быть пользовательский элемент управления. Если все, что вам надо, — это вывод графических данных, которые пользователь будет только просматривать в режиме чтения, то создание пользовательского элемента управления является излишним усложнением. Как и в случае продемонстрированного выше подключения к функции OnPaint(), прежде чем окунаться в реализацию низкоуровневого пользовательского элемента управления, имеет смысл проанализировать, нельзя ли просто обойтись использованием элемента управления PictureBox. Если перед вами стоит задача создания диаграмм с привлекательным внешним видом, которые будут использоваться только в режиме чтения, то вам вполне хватит элемента PictureBox. Если впоследствии вы решите, что приложение действительно нуждается в интерактивном пользовательском элементе управления, то хорошей стартовой площадкой для этого вам послужит тот же класс, который вы использовали для создания статического изображения диаграммы. Начинайте с самого простого и переходите к низкоуровневым парадигмам лишь тогда, когда высокоуровневые парадигмы не могут обеспечить то, что вам необходимо. Используя такой подход, вы сделаете работу быстрее и без той головной боли, которая всегда сопровождает отладку низкоуровневого кода.
Для создания пользовательских элементов управления бывают веские причины, основной из которых является интерактивность. Для большинства элементов управления предусмотрено событие Click, которое позволяет известить приложение о том, что на элементе управления был выполнен щелчок.
В случае гистограмм для разработчика приложения может оказаться желательным знать не только о самом факте щелчка на гистограмме, но и о том, какой именно из столбцов был выделен пользователем. С этой целью пользовательский элемент управления мог бы предусмотреть событие ColumnClick, которое запускается всякий раз, когда щелчок выполняется на связанном с этим элементом столбце. Это событие может предоставлять разработчику конкретную информацию о столбце гистограммы, на котором был выполнен щелчок, в соответствии с чем и будет работать код, отвечающий на это событие. Этот элемент управления может также обеспечивать обратную связь с пользователем устройства, например, путем подсветки выделенного столбца, извещающей пользователя о том, что его выбор воспринят.
Пользовательские элементы управления являются мощной абстракцией, которую вы можете использовать в своих приложениях, но важно не пытаться применять их искусственно, без всякой на то необходимости. Если требуется обеспечить высокую степень интерактивности при взаимодействии конечного пользователя с приложением и/или для разработчика важно иметь возможность работать с детализированными событиями, то решение, основанное на пользовательских элементах управления, заслуживает рассмотрения. В листингах 11.9 и 11.10 представлена очень простая реализация пользовательского элемента управления в .NET Compact Framework. В листинге 11.9 содержится код, предназначенный для самого элемента управления, тогда как в листинге 11.10 — код, который используется для динамического создания экземпляра элемента управления, помещения его в форму и подключения к нему обработчика события. На рис. 11.6 показано выполняющееся на устройстве Pocket PC приложение, в котором присутствует данный нестандартный элемент управления.
НА ЗАМЕТКУ
Существует возможность сделать пользовательский элемент управления видимым на стадии проектирования!
В данном примере пользовательский элемент управления для простоты создается во время выполнения. Чтобы отобразить его для разработчика на стадии проектирования, в результате чего этот элемент управления будет виден в окне конструктора форм подобно любому другому стандартному элементу управления, в приложение следует кое-что добавить. Обсуждение этого вопроса выходит за рамки данной книги, однако соответствующая информация содержится в документации по .NET Compact Framework. Окно сообщения, появляющееся в ответ на запуск события щелчка на пользовательском элементе управления

Рис. 11.6. Окно сообщения, появляющееся в ответ на запуск события щелчка на пользовательском элементе управления
Для создания и запуска данного приложения потребуется выполнить следующие действия:
Читать дальшеИнтервал:
Закладка: