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



Теперь на форму надо перенести элемент >ToolBar. В его свойстве >ImageList надо указать имя добавленного ранее элемента >ImageList. В рассматриваемом примере использовалось имя по умолчанию >ImageList1. Затем надо перейти к свойству >Buttons и активировать окно редактора >ToolBarButton Collection Editor. Так как было добавлено три изображения для кнопок, то нужно три раза нажать кнопку >Add. Для каждой добавленной кнопки следует задать свойство >ImageIndex. При необходимости разработчик может изменить стиль отображения кнопок. По умолчанию используется стиль >PushButton, который создает обычные кнопки. Если для кнопки задать стиль >DropDownButton, то при ее нажатии будет отображаться меню или другое окно. Справа от кнопки на панели инструментов отображается стрелка.

Стиль >Separator позволяет создавать разделители между кнопками на панели управления. Стиль >ToggleButton позволяет создавать переключаемую кнопку. При первом нажатии она переходит в активированное состояние, в котором и остается до тех пор, пока кнопку не нажмут повторно.

Итак, панель инструментов уже готова, хотя еще не было написано ни одной строчки кода. При щелчке на кнопках элемента >ToolBar возникает событие >ButtonClick. В листинге 3.12 приведен код, обрабатывающий нажатие первых двух кнопок.

Листинг 3.12

>private void toolBar1_ButtonClick(object sender,

> ToolBarButtonClickEventArgs e) {

> if (e.Button == this.toolBarButton1) {

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

> } else if (e.Button == this.toolBarButton2) {

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

> }

>}

Элемент MainMenu

Меню является одним из самых важных элементов графического интерфейса Windows-приложений. Не являются исключением и программы для мобильных устройств. По умолчанию на форме уже присутствует элемент >MainMenu. Но при добавлении в проект новой формы на ней меню не появляется, и его нужно добавить вручную.

Следует помнить, что в приложениях для Pocket PC меню располагается в нижней части окна программы, тогда как в приложениях для обычных компьютеров меню располагается в верхней части окна. Если в программе одновременно присутствуют меню и панель инструментов, то они будут отображаться вместе. Но меню будет прижато к левой границе окна, а панель инструментов — к правой. Пример работы с меню приведен в листинге 3.13.

Листинг 3.13

>private void mnuAboutClick(object sender, EventArgs e) {

> MessageBox.Show("Это моя программа!");

>}


>private void mnuExitClick(object sender, EventArgs e) {