Чтение онлайн

на главную - закладки

Жанры

Программирование КПК и смартфонов на .NET Compact Framework

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

Шрифт:

Для определения текущей вкладки используется свойство

SelectedIndex
. При изменении данного свойства инициируется событие
SelectedIndexChanged
, что иллюстрирует код, приведенный в листинге 3.22.

Листинг 3.22

private void tabControl1_SelectedIndexChanged(object sender, EventArgs e) {

 switch (this.tabControl1.SelectedIndex) {

 case 0:

MessageBox.Show("Вы выбрали первую вкладку");

break;

 case 1:

MessageBox.Show("Вы
выбрали вторую вкладку");

break;

 case 2:

MessageBox.Show("Вы выбрали третью вкладку");

break;

 }

}

Элемент TreeView

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

TreeView
позволяет представить данные в иерархическом виде. Именно в этом виде отображается структура дисковой системы в левой части рабочего окна программы Проводник Windows. Основой элемента
TreeView
являются объекты
TreeNode
и
Nodes
. При работе с
TreeView
также широко используется элемент управления
ImageList
, используемый как хранилище изображений для узлов.

Заполнять древовидную структуру можно как на этапе конструирования формы, так и во время выполнения программы. Для создания дерева в дизайнере формы нужно переместить на нее элемент

TreeView
. Затем следует выбрать свойство
Nodes
и запустить редактор
TreeNode Editor
. Кнопка
Add Root
отвечает за создание узлов дерева. Кнопка
Add Child
позволяет добавить дочерний узел к выбранному узлу. Кнопка
Delete
удаляет выбранный узел.

Чтобы задать текст, отображаемый в узлах, можно использовать свойство

Text
. Также в узлах можно использовать изображения, для чего применяется комбинация элемента управления
ImageList
и свойства
SelectedImageList
. Для определения текущего узла используется свойство
SelectedNode
.

На рис. 3.14 показан внешний вид приложения, использующего элемент интерфейса

TreeView
.

Рис. 3.14. Использование элемента TreeView

Элемент InputPanel

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

InputPanel
позволяет вводить текстовую информацию при помощи виртуальной клавиатуры или панели распознавания знаков SIP (Soft Input Panel). Так как в полной версии .NET Framework данного элемента нет, то стоит рассмотреть его несколько подробнее.

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

ToolBar
.
Тогда виртуальная клавиатура появится на экране, и пользователь сможет вводить текст.

Разработчик может программно управлять состоянием клавиатуры. Например, с помощью элемента

InputPanel
можно узнать текущее состояние SIP, возможность ее отображения и деактивации. Свойств и методов у элемента
InputPanel
не так уж много, но наиболее часто используемые члены класса приведены в следующем списке.

□ 

Bounds
— прямоугольник, определяющий размеры и позицию SIP.

□ 

VisibleDesktop
— прямоугольная часть экрана, на которой не отображается SIP.

□ 

Enabled
— возможность работы с SIP.

□ 

EnabledChanged
— событие, возникающее при изменении состояния SIP.

Свойства

Bounds
и
VisibleDesktop
доступны только для чтения и определяют прямоугольники, по которым можно судить о положении SIP и размерах клиентской области, не занятой SIP. Свойство
VisibleDesktop
определяет прямоугольник, которым ограничена область экрана, не закрытая SIP. Когда виртуальная клавиатура отображается, то условный прямоугольник поднимается от полоски навигации над окном SIP. Когда SIP скрыт, то прямоугольник занимает все пространство экрана.

Свойство

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

Свойство

Enabled
имеет значение
True
, если виртуальная клавиатура отображается на экране. Значение свойства можно задавать программно, скрывая или отображая клавиатуру.

Если в приложении необходимо использовать элемент

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

Можно размещать текстовые поля на форме как можно выше, чтобы элемент

InputPanel
не мешал вводить данные. Но помимо этого можно отслеживать состояние виртуальной клавиатуры и при ее отображении передвигать вверх поля для ввода информации. В этом случае чаще всего приходится применять полосы прокрутки. Можно проиллюстрировать такое поведение примером, в котором элемент
InputPanel
будет активироваться, если текстовое поле получит фокус. А когда
TextBox
потеряет фокус, то клавиатура должна исчезнуть. Эта функциональность реализуется кодом, приведенным в листинге 3.23.

Листинг 3.23

private void txtTest_GotFocus(object sender, EventArgs e) {

 // Когда пользователь выбирает текстовое поле.

 // то автоматически активируем SIP

 inputPanel1.Enabled = true;

}

private void txtTest_LostFocus(object sender, EventArgs e) {

 // При потере фокуса сворачиваем SIP

 inputPanel1.Enabled = false;

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

Кодекс Крови. Книга III

Борзых М.
3. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга III

Отчий дом. Семейная хроника

Чириков Евгений Николаевич
Проза:
классическая проза
5.00
рейтинг книги
Отчий дом. Семейная хроника

Скандальная свадьба

Данич Дина
1. Такие разные свадьбы
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Скандальная свадьба

Путанабус. Трилогия

Старицкий Дмитрий
Фантастика:
боевая фантастика
6.93
рейтинг книги
Путанабус. Трилогия

Идеальный мир для Лекаря 25

Сапфир Олег
25. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 25

Кодекс Крови. Книга ХVI

Борзых М.
16. РОС: Кодекс Крови
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Кодекс Крови. Книга ХVI

Проданная невеста

Wolf Lita
Любовные романы:
любовно-фантастические романы
5.80
рейтинг книги
Проданная невеста

Потомок бога

Решетов Евгений Валерьевич
1. Локки
Фантастика:
попаданцы
альтернативная история
аниме
сказочная фантастика
5.00
рейтинг книги
Потомок бога

С Д. Том 16

Клеванский Кирилл Сергеевич
16. Сердце дракона
Фантастика:
боевая фантастика
6.94
рейтинг книги
С Д. Том 16

Переиграть войну! Пенталогия

Рыбаков Артем Олегович
Переиграть войну!
Фантастика:
героическая фантастика
альтернативная история
8.25
рейтинг книги
Переиграть войну! Пенталогия

От Советского Информбюро - 1941-1945 (Сборник)

Неизвестен 3 Автор
Документальная литература:
биографии и мемуары
5.00
рейтинг книги
От Советского Информбюро - 1941-1945 (Сборник)

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3

Прометей: повелитель стали

Рави Ивар
3. Прометей
Фантастика:
фэнтези
7.05
рейтинг книги
Прометей: повелитель стали

Отмороженный 14.0

Гарцевич Евгений Александрович
14. Отмороженный
Фантастика:
боевая фантастика
попаданцы
рпг
5.00
рейтинг книги
Отмороженный 14.0