Создание пользовательских диалоговых окон

Создание пользовательских диалоговых окон

Теперь, когда вы понимаете роль базовых элементов управления Windows Forms и суть процесса построения пользовательских элементов управления, давайте рассмотрим вопрос создания пользовательских диалоговых окон. Здесь хорошей вестью является то, что все уже известное вам о Windows Forms оказывается непосредственно применимым и к случаю программировании диалоговых окон. В общем и целом, создание (и отображение) диалоговых окон ничуть не более сложно, чем добавление в проект новой формы.

В пространстве имен System.Windows.Forms для этого нет специальною базового класса. Диалоговое окно – это просто "специальная" форма. Например, многие диалоговые, окна не позволяют менять свои размеры, поэтому для их свойства FormBorderStyle выбирается значение FormBorderStyle.FixedDialog. Также, в диалоговых окнах свойства MinimizeBox и MaximizeBox обычно равны false (ложь). В этим случае вид диалогового окна вообще является фиксированным, Наконец, если установить значение false для свойства ShowInTaskbar, форме будет запрещено появляться в панели задач Windows XP.

Чтобы продемонстрировать возможности работы с диалоговыми окнами, создайте новое Windows-приложение с именем SimpleModalDialog. Главный тип Form будет поддерживать объект MenuStrip, содержащий пункты меню Файл?Выход и Сервис?Настройка. Постройте этот пользовательский интерфейс и обработайте событие Click для пунктов меню Выход и Настройка. Также определите член-переменную строкового типа (с именем userMessage) в рамках главного типа Form и отобразите соответствующие данные в обработчике события Paint главной формы. Вот как выглядит соответствующий программный код файла MainForm.cs.

public partial class MainWindow: Form {

 private string userMessage = "Сообщение, заданное по умолчанию";

 public MainWindow() {

  InitializeComponent();

 }

 private void exitToolStripMenuItem_Click(object sender, EventArgs e) {

  Application.Exit();

 }

 private void configureToolStripMenuItem_Click(obiect sender, EventArgs e) {

  // Этот метод будет реализован чуть позже…

 }

 private void MainWindow_Paint(object sender, PaintEventArgs e) {

  Graphics g = e.Graphics;

  g.DrawString(userMessage, new Font("Times New Roman", 24), Brushes.DarkBlue, 50, 50);

 }

}

Теперь добавьте в текущий проект новый объект Form с именем UserMessageDialog.cs с помощью выбора Project?Add Windows Form из меню. Установите для свойств ShowInTaskbar, MinimizeBox и MaximizeBox значения false. Затем постройте пользовательский интерфейс, состоящий из двух типов Button (для кнопок OK и Отмена), одного TextBox (чтобы предоставить пользователю возможность ввести сообщение) и элемента Label с инструкцией. Один возможный вариант показан на рис. 21.35.

Рис. 21.35. Пользовательское диалоговое окно

Наконец, откройте доступ к значению Text элемента TextBox формы с помощью пользовательского свойства с именем Message.

public partial class UserMessageDialog: Form {

 public UserMessageDialog() {

  InitializeComponent();

 }

 public string Message {

  set { txtUserInput.Text = value; }

  get { return txtUserInput.Text; }

 }

}

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Практическая работа 3. Изучение диалоговых окон

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Практическая работа 3. Изучение диалоговых окон Задание. Изучить элементы диалоговых окон на примере окна настройки фонового рисунка Рабочего стола и экранной заставки.Последовательность выполнения1. Откройте окно Персонализация, щелкнув правой кнопкой мыши на


Создание пользовательских исключений, раз…

Из книги Язык программирования С# 2005 и платформа .NET 2.0. [3-е издание] автора Троелсен Эндрю

Создание пользовательских исключений, раз… Всегда есть возможность генерировать экземпляр System.Exceptiоn, чтобы сигнализировать об ошибке времени выполнения (как показано в нашем первом примере), но часто бывает выгоднее построить строго типизированное исключение, которое


Создание пользовательских исключений, два…

Из книги Word 2007.Популярный самоучитель автора Краинский И

Создание пользовательских исключений, два… Тип CarIsDeadException переопределяет свойство System.Exception.Message, чтобы установить пользовательское сообщение об ошибке. Однако задачу можно упростить, установив родительское свойство Message через входной параметр конструктора. В


Создание пользовательских исключений, три!

Из книги Windows Script Host для Windows 2000/XP автора Попов Андрей Владимирович

Создание пользовательских исключений, три! Если вы хотите построить "педантично точный" пользовательский класс исключения, то созданный вами тип должен соответствовать лучшим образцам, использующим исключения .NET. В частности, ваше пользовательское исключение должно


Создание пользовательских индексаторов

Из книги Программирование КПК и смартфонов на .NET Compact Framework автора Климов Александр П.

Создание пользовательских индексаторов Как программисты, мы прекрасно знаем, что с помощью индексов можно получить доступ к отдельным элементам, содержащимся в стандартном массиве.// Объявление массива целых значений.int[] myInts = {10, 9, 100, 432, 9874};// Использование операции [] для


Создание пользовательских атрибутов

Из книги Недокументированные и малоизвестные возможности Windows XP автора Клименко Роман Александрович

Создание пользовательских атрибутов Первым шагом процесса построения пользовательского атрибута является создание нового класса, производного от System.Attribute. В продолжение автомобильной темы, используемой в этой книге, мы создадим новую библиотеку классов C# с именем


Создание пользовательских стилей

Из книги QT 4: программирование GUI на С++ автора Бланшет Жасмин

Создание пользовательских стилей Несмотря на то что в каждой версии Word количество заготовленных стилей увеличивается, весьма вероятно, что вы не найдете среди них именно то, что нужно вам в данный момент. По этой причине в Microsoft Word предусмотрена также возможность


Создание пользовательских шаблонов

Из книги автора

Создание пользовательских шаблонов Благодаря шаблонам можно сэкономить много времени. Например, если вы постоянно работаете с какой-нибудь организацией и каждый раз вводите стандартное приветствие, реквизиты и т. д., удобно будет создать собственный шаблон на основе


Использование Internet Explorer для создания диалоговых окон

Из книги автора

Использование Internet Explorer для создания диалоговых окон Процесс создания сценария WSH, использующего Internet Explorer в качестве интерфейса, можно условно разделить на несколько этапов:? создание HTML-формы в отдельном файле;? написание функции для сценария WSH, в которой будет


Вызов системных функций и стандартных диалоговых окон оболочки Windows

Из книги автора

Вызов системных функций и стандартных диалоговых окон оболочки Windows Из сценариев WSH можно выводить на экран стандартные диалоговые окна Windows (например, Выполнить (Run)) и модули панели управления (например, Установка даты и времени (Date/Time)). Для этого используются системные


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

Из книги автора

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


Оптимизация оболочки с помощью диалоговых окон

Из книги автора

Оптимизация оболочки с помощью диалоговых окон Теперь рассмотрим некоторые параметры стандартных диалогов Windows XP, редактирование которых может повысить общую скорость работы того или иного компонента системы.Во-первых, диалоговое окно Свойства: Экран. На вкладке


Глава 2. Создание диалоговых окон

Из книги автора

Глава 2. Создание диалоговых окон В данной главе вы научитесь создавать диалоговые окна с использованием средств разработки Qt. Диалоговые окна предоставляют пользователю возможность задавать необходимые значения параметров и выбирать определенные режимы работы. Они


Быстрое проектирование диалоговых окон

Из книги автора

Быстрое проектирование диалоговых окон Средства разработки Qt спроектированы таким образом, чтобы было приятно программировать «вручную» и чтобы этот процесс был интуитивно понятен; и нет ничего необычного в разработке всего приложения Qt на «чистом» языке С++. Все же


Встроенные классы виджетов и диалоговых окон

Из книги автора

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