КАТЕГОРИИ: Архитектура-(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) |
Стандартные диалоги
Многодокументный интерфейс Multiple Document Interface Многодокументный интерфейс (Multiple Document Interface, MDI) используется для приложений, которые могут в клиентской области основной формы показывать много экземпляров одного или разных типов форм, которые показывают разное содержание (документы). Например, редактор текстов, который одновременно показывает в разных дочерних окнах содержание разных документов. Однако следует понимать, что под документом понимается не только текст, но и информация любого другого типа (изображение, таблицы данных, видео и т.п.). Используемые дочерние формы не выходят за границы основной формы приложения. Для организации MDI интерфейса следует в основной форме приложения задать свойству IsMDIContaner значение true. А для того, чтобы дочерние окна вели себя соответствующим образом (открывались в родительском окне), у них нужно присвоить свойству MdiParent ссылку на данную родительскую форму. Например, в методе основной формы можно создать метод, который будет показывать дочерние формы: private void ShowMdiChild(Form childForm) { childForm.MdiParent = this; // this – основная форма childForm.Show(); } В основной форме может быть открыто одновременно много дочерних форм. Свойство формы ActiveMdiChild ссылается на окно, с которым работает в данный момент пользователь. Используя данное свойство можно получить все данные связанные с этой формой. Дочерние формы можно упорядочивать, вызывая метод LayoutMdi(), который в качестве параметра принимает значения перечисления MdiLayout. Возможными значениями данного перечисления являются: Cascade (упорядочит каскадом), TileHorizontal (упорядочить горизонтально) и TileVertical (упорядочить вертикально). В системе разработки Visual Studio имеется специальный вид форм, у которого уже задано не только свойство IsMDIContaner = true, но и созданы меню и инструментальная полоса для выполнения стандартных операция с дочерними формами.
В библиотеке FCL имеется набор стандартных модальных форм, позволяющие выполнять стандартные действия: OpenFileDialog – диалог выбора и открытия файла для считывания данных; SaveFileDialog – диалог выбора и открытия файла для записыи данных; PrintDialog – диалог вывода на печать; PrintPreviewDialog – диалог предварительный просмотр результата печати; ColorDialog – диалог выбора цвета; FontDialog – диалог выбора шрифта; FolderBrowserDialog – диалог работы с каталогами.
Все эти формы поддерживаются стандартными окнами операционной системы. Логика работы с этими формами однотипная и состоит в следующем: описание и создание объекта нужного класса форм; задание свойств данного объекта для его визуального представления и логики работы; вызов у данного объекта метода ShowDialog() и сравнение полученного результата со значением DialogResult.OK; если завершение успешное, то значения нужных свойств диалога сохраняются в переменных приложения.
Например, диалог OpenFileDialog имеет следующие основные свойства: Title – заголовок диалоговой формы; Filter – “описание1 | фильтр1 | описание2 | фильтр2”; например: "txt files (*.txt) | *.txt | All files (*.*) | *.*" FilterIndex – индекс фильтра, используемый по умолчанию; InitialDirectory – начальная папка для просмотра; FileName – имя выбранного файла (результат выбора).
Ниже показан пример использования диалога OpenFileDialog для считывания данных из выбранного файла:
string input; OpenFileDialog oFileDlg = new OpenFileDialog(); oFileDlg.InitialDirectory = "c:\\"; oFileDlg.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*"; if (oFileDlg.ShowDialog() == DialogResult.OK){ // чтение данных из выбранного файла
StreamReader sr = File.OpenText(oFileDlg.FileName); input = sr.ReadToEnd(); }
Вид созданной диалоговой формы показан на рис. 8.5. Кроме перечисленных стандартных диалогов также часто используется простое модальное окно сообщений (message box), которое можно показать на экране с помощью перегруженного метода Show() (12 вариантов метода) статического класса System.Windows.Forms.MessageBox. Как и обычное модальная форма, данное окно сообщений возвращает результат типа DialogResult.
Рис. 8.5. Диалоговое окно открытия файла.
Например, один из методов Show имеет следующую сигнатуру: DialogResult Show(string, string, MessageBoxButtons, MessageBoxIcon, MessageBoxDefaultButton), где перечисление MessageBoxButtons – это комбинации кнопок на форме, таких как Ok, OkCancel, RetryCancel, Yes, No, YesNoCancel, AbortRetryIgnore. перечисление MessageBoxIcon – это иконка, выводимая в форме, такая как: None (нет), Hand (рука), Question (?), Exclamation (!), Asterisk (*), Stop (крест), Error (крест), Warning (!), Information (i); перечисление MessageBoxDefaultButton – номер кнопки, который будет выбран по умолчанию; допустимые значения: Button1, Button2, Button3.
Ниже приведен пример вызова окна сообщений с данным набором параметров: MessageBox.Show("Продолжать выполнение программы?", "Редактор текста", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2);
Результат выполнения данного метода показан на рис. 8.6.
Рис. 8.6. Простое диалоговое окно сообщений.
Дата добавления: 2014-01-04; Просмотров: 853; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |