Читаем Программирование КПК и смартфонов на .NET Compact Framework полностью

Кроме отсутствия некоторых элементов управления, в .NET Compact Framework также была урезана функциональность имеющихся элементов. Наиболее часто употребляемые элементы управления с урезанной функциональностью приведены в следующем списке:

□ AcceptButton;

□ CancelButton;

□ AutoScroll (поддерживается в .NET Compact Framework 2.0);

□ Anchor (поддерживается в .NET Compact Framework 2.0);

□ элементы Multiple Document Interface (MDI);

□ KeyPreview (поддерживается в .NET Compact Framework 2.0);

□ TabIndex (поддерживается в .NET Compact Framework 2.0);

□ TabStop (поддерживается в .NET Compact Framework 2.0).

Также наложены ограничения на технологию drag and drop и на поддержку графики. Во многих классах поддерживаются не все свойства, события и методы.

Однако в .NET Compact Framework 2.0 ограничений стало меньше. Например, элементы управления теперь обладают свойствами TabIndex и TabStop.

Элемент Form

Элемент Form является контейнером для элементов управления и является рабочей площадкой для создания пользовательского интерфейса программы. Класс Form имеет несколько свойств, которые могут различаться в зависимости от выбранной целевой платформы.

Свойство FormBorderStyle

Свойство FormBorderStyle определяет стиль формы. По умолчанию используется стиль FormBorderStyle.FixedSingle. При этом форма заполняет все рабочее место экрана, и пользователь не может изменять размеры формы или перемещать ее по экрану. При установке значения FormBorderStyle.None создается форма без рамки и заголовка. В этом случае можно изменять размеры и расположение формы программно, но пользователь по-прежнему не может манипулировать формой.

Свойство ControlBox

Свойство ControlBox отвечает за отображение контейнера для элемента управления. Если свойство ControlBox имеет значение True, то контейнер будет отображаться. В противном случае он на экран не выводится. Для устройств Pocket PC подобный контейнер может содержать только одну кнопку.

Свойства MinimizeBox и MaximizeBox

В приложениях для Pocket PC форма может содержать только одну кнопку. Она отвечает либо за минимизацию формы, либо за ее закрытие. Разработчик может управлять внешним видом кнопки при помощи свойства MinimizeBox. Если оно имеет значение True, то кнопка при нажатии будет сворачивать форму. Значение False позволяет создавать кнопку закрытия формы. Значение свойства MaximizeBox игнорируется системой.

Свойство WindowsState

Свойство WindowsState определяет состояние окна при первоначальной загрузке. Разработчик может использовать значения FormWindowState.Normal и FormWindowState.Maximized. Если свойство имеет значение FormWindowState.Normal, то форма заполняет весь экран, за исключением нижней полоски меню и верхней полоски системного меню Start (Пуск). При использовании значения FormWindowState.Maximized форма заполняет экран полностью, скрывая системное меню Start (Пуск), но при этом нижняя полоса меню остается видимой.

Размеры и расположение формы

Свойство Size позволяет задавать размеры формы. Это свойство игнорируется, если свойство FormBorderStyle имеет значение FixedSingleProperty.

Свойство Location задает координаты верхнего левого угла формы. Но так как форма обычно заполняет весь экран, то в большинстве случаев это свойство не используется.

Элементы управления

В этом разделе будут рассмотрены основные элементы управления, которые используются для формирования пользовательского интерфейса. Особое внимание будет уделено различиям и особенностям поведения этих элементов.

Элемент Button

Для создания обычной кнопки используется класс System.Windows.Forms.Button. Эта кнопка обладает всеми основными функциями, которые есть у такого же класса в полной версии .NET Framework. Кнопка предназначена для обработки нажатия стилуса на соответствующую область экрана. В этом случае возникает событие Click. Код, приведенный в листинге 3.1, является обработчиком этого события. Он выводит текущее время в текстовое поле после нажатия на кнопку с надписью Узнать время.

Листинг 3.1

private void butGetTime_Click(object sender, EventArgs e) {

 txtCurTime.Text = DateTime.Now.ToLongTimeString();

}

Рисунок 3.3 показывает приложение в момент нажатия на кнопку.

Рис. 3.3. Результат нажатия на кнопку

Перейти на страницу:

Похожие книги

C++ Primer Plus
C++ Primer Plus

C++ Primer Plus is a carefully crafted, complete tutorial on one of the most significant and widely used programming languages today. An accessible and easy-to-use self-study guide, this book is appropriate for both serious students of programming as well as developers already proficient in other languages.The sixth edition of C++ Primer Plus has been updated and expanded to cover the latest developments in C++, including a detailed look at the new C++11 standard.Author and educator Stephen Prata has created an introduction to C++ that is instructive, clear, and insightful. Fundamental programming concepts are explained along with details of the C++ language. Many short, practical examples illustrate just one or two concepts at a time, encouraging readers to master new topics by immediately putting them to use.Review questions and programming exercises at the end of each chapter help readers zero in on the most critical information and digest the most difficult concepts.In C++ Primer Plus, you'll find depth, breadth, and a variety of teaching techniques and tools to enhance your learning:• A new detailed chapter on the changes and additional capabilities introduced in the C++11 standard• Complete, integrated discussion of both basic C language and additional C++ features• Clear guidance about when and why to use a feature• Hands-on learning with concise and simple examples that develop your understanding a concept or two at a time• Hundreds of practical sample programs• Review questions and programming exercises at the end of each chapter to test your understanding• Coverage of generic C++ gives you the greatest possible flexibility• Teaches the ISO standard, including discussions of templates, the Standard Template Library, the string class, exceptions, RTTI, and namespaces

Стивен Прата

Программирование, программы, базы данных