Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Работа с меню и диалоговыми окнами






Общие сведения о диалоговых окнах

.NET Framework 3.5

Другие версии

 

 

Обновлен: Ноябрь 2007

 

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

 

Отображение отдельных сведений для пользователей.

 

Сбор сведений от пользователей.

 

И отображение, и сбор сведений.

 

Существует два типа таких окон, известных как диалоговые окна: модальные и немодальные.

 

Модальное диалоговое окно отображается функцией, когда она требует дополнительные данные от пользователя для продолжения. Поскольку для сбора данных функция зависит от модального диалогового окна, оно также запрещает пользователю активацию других окон в приложении, пока остается открытым. В большинстве случаев, модальное диалоговое окно разрешает пользователю оповещать о завершении работы с ним с помощью кнопок ОК или Отмена Нажатие ОК кнопки означает, что пользователь ввел данные и желает, чтобы функция продолжила обработку данных. Нажатие кнопки Отмена указывает, что пользователь хочет полностью остановить выполнение функции. Наиболее общими примерами модальных диалоговых окон является отображение открытия, сохранения и печати данных.

 

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

 

WPF (Windows Presentation Foundation) позволяет создавать несколько типов диалоговых окон, включая окна сообщений, общие диалоговые окна и настраиваемые диалоговые окна. В этой теме обсуждается каждое из них, и в разделе Пример использования диалоговых окон содержатся соответствующие примеры.

 

 

В этом разделе содержатся следующие подразделы.

Окна сообщений

Общие диалоговые окна

Настраиваемые диалоговые окна

Связанные разделы

Окна сообщений

 

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

 

 

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

 

Чтобы отобразить окно сообщения, вызовите метод static Show, как показано в следующем коде.

 

Когда код, отображающий окно сообщения, должен определить и обработать решение пользователя (какая кнопка была нажата), он может проверить результат окна сообщения, как показано в следующем коде.

 

Дополнительные сведения об использовании окон сообщений см. в разделе MessageBox, Пример использования MessageBox и Пример использования диалоговых окон.

 

Хотя класс MessageBox может предложить простое диалоговое окно, преимущество использования класса MessageBox состоит в том что, это окно является единственным типом окна, которое может быть отображено приложениями, которые запущены в режиме безопасности частичного доверия " песочница" (см. раздел Безопасность Windows Presentation Foundation), например — приложением XBAP (XAML browser applications — приложения обозревателя XAML).

 

Большинство диалоговых окон отображают и собирают более сложные данные, чем результат окна сообщения, включая текст, флажки, взаимоисключающий выбор (переключатели) и выбор списка (поля со списком, поля с раскрывающимся списком). Для этого WPF (Windows Presentation Foundation) предоставляет несколько общих диалоговых окон и позволяет создавать пользовательские диалоговые окна, хотя их использование ограничено приложениями, выполняющимися с полным доверием.

Общие диалоговые окна

 

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

 

WPF (Windows Presentation Foundation) инкапсулирует общие диалоговые окна открытия, сохранения и печати файла и предоставляет их, как управляемые классы для использования в самостоятельных приложениях. В данном разделе представлен краткий обзор каждого из этих диалоговых окон.

Диалоговое окно открытия файлов

 

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

 

 

Общее диалоговое окно открытия файлов реализуется как класс OpenFileDialog и размещается в пространстве имен Microsoft.Win32. Следующий код показывает, как создать, настроить и отобразить данное диалоговое окно, а также порядок обработки результата.

 

Дополнительные сведения о диалоговых окнах открытия файлов см. в разделе Microsoft.Win32.OpenFileDialog. Примечание.

 

Класс OpenFileDialog может использоваться для безопасного извлечения имен файлов приложениями, выполняемыми в режиме частичного доверия (см. Безопасность Windows Presentation Foundation). Демонстрацию примера см. в разделе Пример безопасной отправки файлов из XBAP.

 

Диалоговое окно сохранения файлов

 

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

 

 

Общее диалоговое окно сохранения файлов реализуется как класс SaveFileDialog и размещается в пространстве имен Microsoft.Win32. Следующий код показывает, как создать, настроить и отобразить данное диалоговое окно, а также порядок обработки результата.

 

Дополнительные сведения о диалоговых окнах сохранения файлов см. в разделе Microsoft.Win32.SaveFileDialog.

Диалоговое окно печати

 

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

 

 

Общее диалоговое окно печати реализуется как класс PrintDialog и размещается в пространстве имен System.Windows.Controls. Следующий код показывает, как создать, настроить и отобразить это диалоговое окно.

 

Дополнительные сведения о диалоговом окне печати см. в разделе System.Windows.Controls.PrintDialog. Подробное описание печати в приложении WPF см. в разделе Общие сведения о печати.

Настраиваемые диалоговые окна

 

Хотя общие диалоговые окна полезны и должны, при возможности, использоваться, они не поддерживают требования для диалоговых окон отдельного домена. В таких случаях, необходимо создавать пользовательские диалоговые окна. Как будет видно из дальнейшего, диалоговое окно является окном с отдельными поведениями. Эти поведения реализуются объектом Window, и, следовательно, используйте Window для создания настраиваемых модальных и немодальных диалоговых окон.

Создание модального настраиваемого диалогового окна

 

В этом разделе показано, как использовать объект Window для создания типичного модального диалогового окна на примере диалогового окна Margins (см Пример использования диалоговых окон). Диалоговое окно Margins показано на следующем рисунке.

 

Настройка модального диалогового окна

 

Пользовательский интерфейс типичного диалогового окна включает следующие элементы.

 

Различные элементы управления, которые необходимы для сбора нужных данных.

 

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

 

Отображение кнопки Отмена, которую пользователь нажимает, чтобы закрыть окно и остановить дальнейшую обработку функции.

 

Отображение кнопки Закрыть в строке заголовка.

 

Отображение значка.

 

Отображение кнопок Свернуть, Развернуть и Восстановить.

 

Отображение меню Система для свертывания, развертывания, восстановления и закрытия окна.

 

Открытие выше и в центре окна, в котором открыто диалоговое окно.

 

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

 

Нажатие клавиши ESC следует настроить, как сочетание клавиш, которое соответствует нажатию кнопки Отмена. Это достигается установкой для свойства IsCancel кнопки Отмена значения true.

 

Нажатие клавиши ВВОД следует настроить как сочетание клавиш, которое вызывает нажатие кнопки ОК. Это достигается установкой для свойства IsDefault кнопки ОК значения true.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.