Книга: Программирование мобильных устройств на платформе .NET Compact Framework
Листинг 5.3. Явное изменение состояний приложения (удачный подход)
Листинг 5.3. Явное изменение состояний приложения (удачный подход)
string m_someImportantInfo;
//Определить состояния, в которых может находиться приложение
enum MyStates {
step1, step2
}
//Главная функция, которая вызывается
//всякий раз, когда возникает необходимость
//в изменении состояния приложения
void ChangeApplicationState(MyStates newState) {
switch (newState) {
case MyStates.step1:
textBox1.Visible = true;
listBox1.Visible = false;
break;
case MyStates.step2:
m_someImportantInfo = textBox1.Text;
textBox1.Visible = false;
listBox1.Visible = true;
break;
}
}
//Пользователь щелкнул на кнопке, желая перейти к выполнению
//следующего шага, предусмотренного в данном приложении. Скрыть
//текстовое окно и отобразить окно списка в отведенном для этого месте
private void button1_Click(object sender, System.EventArgs e) {
//Вызвать главную функцию, осуществляющую изменение состояния
ChangeApplicationState(MyStates.step2);
}
//Код, выполняющийся при загрузке формы
private void Form1_Load(object sender, System.EventArgs e) {
//Вызвать главную функцию, осуществляющую изменение состояния
ChangeApplicationState(MyStates.step1);
}
В приведенном выше коде решаются те же задачи, что и в предыдущем примере, но при этом последовательно используется инкапсуляция. Вместо того чтобы непосредственно изменять состояние интерфейса, коды обработки событий каждого из элементов пользовательского интерфейса вызывают главную функцию управления состояниями, которая и выполняет всю необходимую работу. Этот процесс легко масштабируется при расширении или изменении приложения. Необходимые изменения любых аспектов функционирования приложения обеспечиваются за счет использования единственной главной функции. По мере возникновения потребности в дополнительных элементах управления или состояниях приложения, они могут без труда включаться в нашу программную модель централизованным способом
- Листинг 5.2. Неявное изменение состояний приложения (неудачный подход)
- Листинг 10.1. (simpleid.c) Отображение идентификаторов пользователя и группы
- Листинг 15.11. Код для загрузки файла с Web-сервера
- 1.8 Ввод-вывод типичного приложения хранения данных
- Добавление, изменение и удаление элементов списка
- Добавление, изменение и удаление столбцов списка
- Добавление и изменение представления списка
- Извлечение и возврат документов в приложениях Microsoft Office 2007
- Использование панели задач Управление документами в приложениях Office 2007
- Глава 1 Компьютер – с какой стороны к нему подходить
- Каждый раз после загрузки Windows запускаются разные бесполезные приложения, а возле часов появляются лишние значки. Что...
- Часть II Изменение способов ведения бизнеса