Обзор мобильных элементов управления MS Visual Studio 2008. Мобильные веб - страницы. Работа с эмулятором мобильных устройств
Целью данной лабораторной работы является знакомство с мобильными элементами управления и их возможностями.
Задание на лабораторную работу
- Выбрать предметную область, проблему, для решения которой необходимо создание мобильного IT - решения. Разработка примерной архитектуры приложения. (2 часа)
- Рассмотреть имеющиеся элементы управления, возможности их применения, методы, события. (2 часа)
- Создать мобильную форму с простейшим кодом (лучше всего для данных целей выбрать задачу, связанную с установлением соединения с БД, редактирования записей, вывод результатов простейших запросов, авторизацию и т.п. )(2 часа)
Важно понимать, что конечной целью данной лабораторной работы не является создание законченного IT - решения на базе мобильных устройств. Основная задача - ознакомительная, перед началом проектировки непосредственно решения и написания ТЗ, важно понимать, что можно сделать средствами разработки.
6.1. Эмулятор мобильных устройств
Как и Visual Studio 2005, версия Visual Studio 2008 Professional пригодна для проектирования приложений для мобильных устройств с использованием компонента SmartDevice Projects (функции разработки для мобильных устройств в Visual Studio 2008 Standard Edition отсутствуют). В новом эмуляторе устройств Visual Studio 2008 появилось несколько улучшений. Можно проектировать программы для Pocket PC 2003, Smartphone 2003 и Windows Mobile 5.0. Благодаря эмуляции батарей, эмулятор устройств может выдать событие низкого заряда батарей. Таким образом, мобильные приложения могут проверять заряд батарей.
В состав Visual Studio 2008 входит новейшая версия платформ разработки устройств Microsoft:.NET Compact Framework 3.5. Можно задействовать различные версии.NET Compact Framework. Таким образом, при создании нового проекта SmartDevice можно выбрать в качестве целевой платформы .NET Compact Framework 2.0 или .NET Compact Framework 3.5.
Кроме того, Visual Studio 2008 предоставляет новые службы Sync Services for ADO. NET, через которые новые мобильные приложения обеспечивают конечным пользователям одинаково удобную работу как с подключенным, так и с отключенным от сети устройством. Мобильное устройство с локальным хранилищем SQL Server Compact и службами Sync Services может периодически подключаться к серверу базы данных и выполнять двунаправленную синхронизацию с мобильным приложением.
6.2. Краткий обзор мобильных элементов управления
Списочные элементы управления
Списочный элемент управления направляет на устройство последовательность элементов. Он может работать в статическом или интерактивном режиме. В статическом режиме данный элемент генерирует статический список чисто текстовых элементов. В интерактивном режиме получаются элементы, по щелчку на которых генерируются события.
Элемент управления ListBox
Представляет собой список с полосой прокрутки.
Элемент управления ComboBox
Представляет собой выпадающий список
Элемент управления TextBox
Элемент управления TextBox генерирует однострочное текстовое поле и хранит в свойстве Text введенный пользователем текст. Данный элемент может работать в режиме пароля и в числовом режиме, но не поддерживает многострочного редактирования и не может выводиться как поле, доступное только для чтения. Вы можете задавать для него способ выравнивания и максимальную длину.
Элемент управления InputPanel
Обеспечивает управляемую реализацию элемента управления "программная панель ввода" в Windows Embedded CE. При создании приложения Windows, предназначенного для платформы Pocket PC, среда разработки Visual Studio автоматически добавляет компонент MainMenu в файл проекта для Form1. Этот компонент добавляет на форму нижнюю строку меню со значком программной панели ввода. Для использования программной панели ввода не требуется программирования: пользователи могут включать и отключать её отображение с помощью значка. Для программирования программной панели ввода необходимо перетащить компонент InputPanel с панели элементов ToolBox на форму.
Программную панель ввода можно показать программно с помощью свойства Enabled, получить её размер - с помощью свойства Bounds, и определить размер области формы, не занятый этой панелью, - с помощью свойства VisibleDesktop. Обратите внимание, что для устройств Pocket PC свойство Bounds всегда возвращает ширину, равную 240 точкам, и высоту, равную 80 точкам, независимо от того, включена ли программная панель ввода. Событие EnabledChanged происходит каждый раз при включении или выключении программной панели ввода, как пользователем, так и программно. Обычно причиной для программирования программной панели ввода является изменение положения или размера элементов управления на форме, когда эта панель включена и отключена.
В следующем примере на странице вкладки содержится текстовое поле. Программная панель ввода отображается на вкладке, когда текстовое поле получает фокус, при этом используется событие EnabledChanged, чтобы уменьшить высоту вкладки, когда эта панель включена, и восстановить исходную высоту, когда она выключена.
private void textBox1_GotFocus(object sender, System.EventArgs e) { // Отображение InputPanel inputPanel1.Enabled = true; } private void inputPanel1_EnabledChanged(object sender, EventArgs e) { if (inputPanel1.Enabled == false) { // Поскольку InputPanel неактивна, высота вкладки устанавливается в // исходное положение VisibleRect = inputPanel1.VisibleDesktop; tabControl1.Height = TabOriginalHeight; } else { // InputPanel активна, поэтому высота вкладки уменьшается VisibleRect = inputPanel1.VisibleDesktop; tabControl1.Height = VisibleRect.Height; } // Свойство Bounds всегда возвращает значения высоты 80 и ширины 240 пикселей // для устройств PocketPC BoundsRect = inputPanel1.Bounds; VisibleInfo.Text = String.Format("VisibleDesktop: X = {0}, " + "Y = {1}, Width = {2}, Height = {3}", VisibleRect.X, VisibleRect.Y, VisibleRect.Width, VisibleRect.Height); BoundsInfo.Text = String.Format("Bounds: X = {0}, Y = {1}, " + "Width = {2}, Height = {3}", BoundsRect.X, BoundsRect.Y, BoundsRect.Width, BoundsRect.Height); }
Наиболее полную информацию о мобильных элементах управления можно получить на http://msdn.microsoft.com/ru-ru/library/aa139616.aspx