Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Стандартные диалоговые окна

Диалоговые окна используются для сбора сведений, вводимых пользователями. Можно создать свои собственные диалоговые окна или использовать встроенные, такие как FolderBrowserDialog и FontDialog. В этом разделе содержатся ссылки на разделы, посвященные созданию диалоговых окон и использованию стандартных встроенных диалоговых окон в приложениях.

Чтобы пользователи могли выбрать текстовый файл и загрузить его в элемент управления RichTextBox в форме Windows Forms, можно использовать компонент OpenFileDialog. В этом примере компонент OpenFileDialog создается во время выполнения. Пример:

// Создаём объект класса OpenFileDialog.// Если он вставлен в визуальном редакторе, то этого делать не нужноOpenFileDialog openFile1 = new OpenFileDialog(); // Указываем OpenFileDialog фильтр для работы с текстовыми файлами.openFile1.Filter = "Text Files|*.txt"; // Проверяем был ли выбран какой0либо файл с помощью OpenFileDialog.if(openFile1.ShowDialog() == System.Windows.Forms.DialogResult.OK) // Загружаем выбранный файл в RichTextBox. richTextBox1.LoadFile(openFile1.FileName, RichTextBoxStreamType.PlainText);

Компонент Windows Forms SaveFileDialog является стандартным диалоговым окном. Он аналогичен стандартному диалоговому окну Сохранение файла, используемому в операционных системах Windows. Он наследуется от класса CommonDialog.

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

Можно использовать метод ShowDialog для отображения диалогового окна во время выполнения. Используя метод OpenFile, можно открыть файл в режиме "чтение и запись". Добавленный в форму компонент SaveFileDialog появляется в нижней области конструктора Windows Forms.

В следующем примере кода показано создание SaveFileDialog, задание элементов, вызов диалогового окна с помощью метода ShowDialog и сохранение текущего файла. В примере предполагается, что используется форма, на которой размещена кнопка.

Stream myStream; SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; saveFileDialog1.FilterIndex = 2; saveFileDialog1.RestoreDirectory = true; if(saveFileDialog1.ShowDialog() == DialogResult.OK) { if((myStream = saveFileDialog1.OpenFile())!= null) { // Code to write the stream goes here. myStream.Close(); } }

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

В процедуре проверьте свойство DialogResult компонента FolderBrowserDialog, чтобы узнать, как было закрыто диалоговое окно и получить значение свойства SelectedPath компонента FolderBrowserDialog.

Если необходимо задать папку самого верхнего уровня, которая будет отображаться в дереве этого диалогового окна, задайте свойство RootFolder, которое выбирает член перечисления SpecialFolder.

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

В приведенном ниже примере компонент FolderBrowserDialog используется для выбора папки в случае, подобном тому, когда при создании проекта в Visual Studio пользователя просят выбрать папку для сохранения в ней проекта. В данном примере имя папки затем отображается в элементе управления TextBox этой формы. Прекрасное решение — поместить расположение в область, доступную для изменения, например элемент управления TextBox, чтобы пользователь имел возможность изменить свой выбор в случае ошибки или других проблем. В этом примере предполагается форма с компонентом FolderBrowserDialog и элементом управления TextBox.

if (folderBrowserDialog1.ShowDialog() == DialogResult.OK) { textBox1.Text = folderBrowserDialog1.SelectedPath; }

Компонент Windows Forms FontDialog является стандартным диалоговым окном, аналогичным окну Windows Шрифт; он используется для предоставления шрифтов, установленных в операционной системе. Этот компонент используется в приложении Windows в качестве простого решения для выбора шрифтов вместо диалогового окна, настраиваемого самостоятельно.

По умолчанию в диалоговом окне отображаются списки "Шрифт", "Стиль" и "Размер"; поля флажков для таких эффектов, как зачёркивание и подчеркивание; раскрывающийся список "Набор символов"; поле, в котором показан образец шрифта. (Набор символов определяет, какие символы доступны для данного шрифта: например, иврит или японский.) Чтобы вывести диалоговое окно шрифтов, следует вызвать метод ShowDialog.

Этот компонент обладает рядом свойств, определяющих его внешний вид. Свойствами, задающими параметры диалогового окна, являются Font и Color. СвойствоFontзадает шрифт, стиль, размер, набор символов и эффекты, например: Arial, 10pt, style=Italic, Strikeout

В следующем примере кода диалоговое окно ShowDialog используется отображения диалогового окна FontDialog. Для этого кода необходимо, чтобы до его вызова была создана форма Form с размещенными на ней текстовым полем TextBox и кнопкой. Также требуется, чтобы было создано диалоговое окно fontDialog1. Объект Font содержит сведения о размере, но не содержит сведений о цвете.

fontDialog1.ShowColor = true; fontDialog1.Font = textBox1.Font; fontDialog1.Color = textBox1.ForeColor; if(fontDialog1.ShowDialog()!= DialogResult.Cancel) { textBox1.Font = fontDialog1.Font; textBox1.ForeColor = fontDialog1.Color; }

Компонент Windows Forms ColorDialog является стандартным диалоговым окном, в котором пользователь может выбрать цвет из палитры, а также добавить в палитру дополнительные цвета. Это окно аналогично диалоговому окну для выбора цветов в других приложениях Windows. Этот компонент используется в приложении Windows в качестве простого решения вместо диалогового окна, настраиваемого самостоятельно.

Цвет, выбранный в диалоговом окне, возвращается в свойстве Color. Если для свойства AllowFullOpen задано значение false, кнопка "Определить цвет" недоступна и пользователь может работать только со стандартными цветами палитры. Если для свойства SolidColorOnly задано значение true, пользователь не может выбирать полутона. Для отображения диалогового окна вызывается метод ShowDialog.

Внешний вид компонента Windows Forms ColorDialog можно настроить с помощью набора его свойств. В этом диалоговом окне два раздела: в первом представлены основные цвета, во втором — средства для настройки цветов пользователем.

Большинство свойств ограничивают набор цветов, которые пользователь может выбрать в этом диалоговом окне. Если для свойства AllowFullOpen задано значение true, пользователь может задавать собственные цвета. Для свойства FullOpen задано значение true, если диалоговое окно развертывается для определения пользовательских цветов; в противном случае пользователь должен нажать кнопку "Определить цвет". Если для свойства AnyColor задано значение true, в диалоговом окне отображаются все доступные цвета в наборе основных цветов. Если для свойства SolidColorOnly задано значение true, пользователь не может выбрать полутона; для выбора доступны только чистые цвета.

Если для свойства ShowHelp задано значение true, в диалоговом окне появляется кнопка "Справка". При нажатии кнопки "Справка" возникает событие HelpRequest компонента ColorDialog

В следующем примере иллюстрируется создание нового диалогового окна ColorDialog. В этом примере предполагается, что данный метод вызывается из существующей формы, в которой имеются поле TextBox и кнопка Button.

ColorDialog MyDialog = new ColorDialog(); // Keeps the user from selecting a custom color. MyDialog.AllowFullOpen = false; // Allows the user to get help. (The default is false.) MyDialog.ShowHelp = true; // Sets the initial color select to the current text color. MyDialog.Color = textBox1.ForeColor; // Update the text box color if the user clicks OK if (MyDialog.ShowDialog() == DialogResult.OK) textBox1.ForeColor = MyDialog.Color;

Приложения с интерфейсом MDI

Приложения с многооконным интерфейсом (MDI) позволяют отображать несколько документов сразу, при этом каждый документ отображается в отдельном окне. Приложения с MDI-интерфейсом часто содержат элементы меню Window с вложенным меню для переключения между окнами или документами.

В Windows Forms существуют определенные различия в работе MDI-форм и окон с однодокументным интерфейсом (SDI). Свойство Opacity не влияет на внешний вид дочерних форм MDI. Кроме того, метод CenterToParent не влияет на поведение дочерних форм MDI.

<== предыдущая лекция | следующая лекция ==>
Создание диалоговых окон | Создание родительских MDI-форм
Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 1224; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.012 сек.