Вход/Регистрация
Программирование КПК и смартфонов на .NET Compact Framework
вернуться

Климов Александр Петрович

Шрифт:

Свойство 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. Результат нажатия на кнопку

Текст на кнопке может быть только однострочным. Если он не помещается на кнопке, то будет обрезан. Поэтому нужно быть очень осторожным при выборе текста для кнопки. В следующей главе, посвященной улучшениям элементов управления, приведен пример создания кнопки с многострочным текстом, которая создается при помощи неуправляемого кода с использованием функций Windows API.

Функциональность элемента управления

Button
очень сильно урезана по сравнению с полной версией .NET Framework. В частности, у данного элемента нет свойств
Image
и
ImageList
, которые применяются для отображения на кнопке графики.

Элемент TextBox

В предыдущем примере дата отображалась в текстовом поле. Это поле создается при помощи класса

TextBox
, который позволяет вводить текст. Данный элемент поддерживает такие стандартные свойства, как
BackColor
и
ForeColor
. Событие
Click
элементом
TextBox
не поддерживается, но разработчик может воспользоваться событиями
KeyPress
,
KeyUp
и
KeyDown
. Следует отметить особенность этого элемента. Несмотря на то что класс
TextBox
поддерживает свойство
PasswordChar
, при вводе пароля на экране всегда будет использоваться символ звездочки. Задать другой символ не получится.

Также текстовое поле не поддерживает свойство

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

Листинг 3.2

private void txtCurTime_KeyPress(object sender, KeyPressEventArgs e) {

 if (Char.IsLetter(e.KeyChar)) {

// сохраняем текущую позицию каретки

int pos = txtCurTime.SelectionStart;

// переводим в верхний регистр

txtCurTime.Text =

txtCurTime.Text.Insert(txtCurTime.SelectionStart,

Char.ToUpper(e.KeyChar).ToString);

// перемещаем каретку в новую позицию

txtCurTime.SelectionStart = pos + 1;

e.Handled = true;

 }

}

ПРИМЕЧАНИЕ

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

Элемент Label

В рассмотренном примере также использовался элемент

Label
для отображения текстовой строки. Как правило, надпись используется для отображения некоторого текста, который пользователь не может изменить. Сама отображаемая строка задается при помощи свойства
Text
. Текст на экране можно выравнивать с помощью свойства
TextAlign
. Разработчик может использовать значения
TopLeft
,
TopCenter
и
TopRight
. При изменении текста в метке инициируется событие
TextChanged
. При создании элемента нужно следить за длиной отображаемой строки. Если текст слишком большой и не помещается в пределах элемента, то он попросту обрезается.

  • Читать дальше
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: