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

Закрыть или свернуть — вот в чем вопрос. Компания Microsoft предложила для мобильных приложений модель поведения программ, отличающую от принятой в настольных компьютерах. Когда пользователь щелкает на кнопке закрытия, то на самом деле окно программы не закрывается, а сворачивается. Для пользователей подобное поведение приложений кажется странным, поэтому некоторые разработчики создавали программы, которые позволяли закрывать приложения одним нажатием стилуса. Популярность таких программ говорит о том, что не всем пользователям понравилось поведение приложений, которые отнимают ресурсы у системы. Но сейчас не нужно обсуждать целесообразность такого подхода к закрытию программ. Разработчик может создать приложение, которое позволит выбрать вариант закрытия приложения. Пользователь может нажать кнопку закрытия, чтобы просто свернуть окно, либо выполнить команду меню Выход, чтобы действительно закрыть приложение.

Но бывают ли такие ситуации, когда действительно требуется принудительно закрывать программу? Такая необходимость возникает при отладке и тестировании программы в эмуляторе. При стандартной модели поведения довольно утомительно каждый раз вручную останавливать программу, запущенную в эмуляторе. Конечно, можно временно присвоить свойству MinimizeBox при отладке значение False, что поможет избавиться от этой проблемы. Но перед окончательным релизом программы надо все же поставить значение True. Однако полагаться на свою память не стоит. Гораздо проще воспользоваться условной компиляцией.

При создании приложения надо использовать несколько строчек кода в конструкторе формы сразу после вызова процедуры InitializeComponent(), как показано в листинге 7.2.

Листинг 7.2

#if DEBUG

 MinimizeBox = false;

#else

 MinimizeBox = true;

#endif

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

Рис. 7.1. Код условной компиляции на панели инструментов

<p>Пиктограмма приложения</p>

Любая серьезная программа должна иметь собственную пиктограмму. Чтобы указать используемую пиктограмму, надо при помощи команды меню Project►Properties открыть диалоговое окно Property Pages, выбрать раздел Application и указать путь к файлу с пиктограммой в свойстве Icon (рис. 7.2).

Рис. 7.2. Добавление пиктограммы для приложения

<p>Создание собственных диалоговых окон</p>

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

Для создания подобных форм хорошо подойдет собственное диалоговое окно. Чтобы отобразить такое окно, используется метод ShowDialog. Этот метод делает недоступным родительскую форму, пока диалоговое окно находится на экране. Диалоговое окно может возвращать результат вызова метода ShowDialog не только себе, но и родительскому окну.

Предположим, что нужно создать специальное окно авторизации пользователя для доступа к программе. В состав проекта нужно включить новую форму, которая будет реализована как диалоговое окно проверки имени пользователя LogonForm. Это будет маленькое окно без четко очерченной границы. В нем надо разместить текстовое поле и две кнопки. Затем надо задать значения свойств FormBorderStyle, Size и Location. При загрузке основной формы и обработке события Load создается новый экземпляр объекта LogonForm и вызывается как диалоговое окно. Данное окно может вернуть значения DialogResult.OK, если пользователь ввел имя, или DialogResult.Cancel, если он просто закрыл форму. Если было введено правильное имя, то главная форма продолжает свою работу. В противном случае приложение следует закрыть. Соответствующий код приведен в листинге 7.3.

ВНИМАНИЕ

Чтобы элементы управления диалогового окна были доступны вызывающей форме, их надо объявить с модификатором public. По умолчанию используется модификатор private.

Листинг 7.3

private void Form1_Load(object sender, EventArgs e) {

 LogonForm LogonFrm = new LogonForm();

 if (LogonFrm.ShowDialog() == DialogResult.Cancel) {

  LogonFrm.Dispose();

  this.Close();

 } else {

  this.Text += " - " + LogonFrm.txtCheck.Text;

  LogonFrm.Dispose();

 }

}

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

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

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

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