Суббота, 27.04.2024, 23:34
Приветствую Вас Гость | RSS

Лекции

Меню сайта
Форма входа
Категории раздела
ТАУ (Теория автоматического управления) [31]
лекции по ТАУ
Экология [151]
учебник
Бухгалтерский учет и налогообложение в строительстве [56]
Дементьев А.Ю. - Практическое пособие
Психология [104]
Пип
информатика [80]
с# Карли Ватсон
современные стулья [0]
новинки
Поиск

Главная » 2010 » Февраль » 11 » Диалоговые окна FontDialog и ColorDialog
00:37
Диалоговые окна FontDialog и ColorDialog
Диалоговые окна FontDialog и ColorDialog
Последние два диалоговых окйа, на которых мы коротко остановимся в данной
главе,— ЭТО FontDialog И ColorDialog.
Основное внимание будет сосредоточено на обсуждении
диалоговых окон, позволяющих задавать шрифт и цвет,
а не на классах Font и color, поскольку эти классы
детально изучаются в главе 16.
Диалоговое окно FontDialog
Диалоговое окно FontDialog позволяет пользователю приложения осуществ-
лять выбор шрифта. Пользователю предоставляется возможность изменять
шрифт, стиль, размер и цвет шрифта.
Использование диалоговых окоп 421
На следующем рисунке показаны все свойства, которые отвечают за изменение
элементов данного диалогового окна:
i f
Flxad NUriett
\OEf feMctcisrosoft Sans Sertf ^*
Г Striked
| Sample
; l f
Script;
ShowColor
~ AllowS
Использование диалогового окна FontDialog
Данное диалоговое окно может использоваться точно так же, как и все преды-
дущие. В программе разработки Windows Forms это окно можно перенести из
окна с инструментами и поместить в форму таким образом, что это приведет к со-
зданию Экземпляра FontDialog.
Код, предназначенный для использования FontDialog, может выглядеть следую-
щим образом:
if (dlgFont.ShowDialogO == DialogResult.OK)
textBoxEdit.Font = dlgFont.Font;
}
Диалоговое окно FontDialog выводится с помощью метода showDiaiogO. Если
пользователь завершает диалог нажатием кнопки ОК, то этим методом возвраща-
ется значение DialogResult.ок. Выбранный пользователем шрифт можно опреде-
лить, воспользовавшись свойством Font класса FontDialog; в дальнейшем этот
шрифт передается свойству Font класса Textbox.
Свойства диалогового окна FontDialog
Назначение свойств класса FontDialog можно узнать из следующей таблицы.
Свойство Описание
AllowVectorFonts
AllowVerticalFonts
Логическое значение, определяющее, могут ли из списка шрифтов выбираться
векторные шрифты.
Логическое значение, определяющее, могут ли из списка шрифтов
выбираться вертикальные шрифты. Вертикальная запись текстов используется
в некоторых дальневосточных странах. Вполне вероятно, что на вашем
компьютере нет ни одного инсталлированного вертикального шрифта.
422
Свойство Описание
Глава 15
Продолжение таблицы
FixedPitchOnly
MaxSize
MinSize
ShowApply
ShowColor
ShowEffects
AllowScript Change
Установка этого свойства приведет к тому, что в списке шрифтов будут
выводиться только шрифты с фиксированными размерами. У шрифтов
с фиксированными размерами все буквы обладают одинаковыми размерами.
Значение по умолчанию — false.
Позволяет определить максимальный размер шрифта, который может выбрать
пользователь.
Позволяет определить минимальный размер шрифта, который может выбирать
пользователь.
Если требуется вывести кнопку Apply, то данному свойству следует присвоить
значение true. Нажав кнопку Арр!уч, пользователь получает возможность
посмотреть, как выглядит новый шрифт в приложении, не покидая диалога
выбора шрифтов.
По умолчанию возможность выбора цвета в данном диалоге отсутствует.
Если вы хотите предоставить пользователю возможность выбирать цвет
в диалоге выбора шрифта, то свойству ShowColor должны быть присвоено
значение true.
По умолчанию можно устанавливать флажки в окошках выбора элементов
Strikeout (зачеркивание) и Underline (подчеркивание) для выполнения
манипуляций над шрифтами. Если вы не желаете, чтобы эти возможности
выводились на экран, то свойству ShowEffects следует присвоить
значение false.
Присваивание свойству AllowScriptChange значения false налагает запрет
на изменение пользователем стиля выбранного шрифта. Стили, которые
доступны пользователю, зависят от выбранного им шрифта. Например,
шрифт Arial поддерживает западный, еврейский, арабский, греческий,
турецкий, балтийский, центрально-европейский, кириллический
и вьетнамский шрифты.
Разрешение использования кнопки Apply
Интересной отличительной особенностью диалогового окна FontDialog от других
рассматривавшихся окон является кнопка Apply, которая по умолчанию не выво-
дится. Если пользователь нажимает кнопку Apply, то диалоговое остается откры-
тым, однако используется выбранный шрифт.
Выбрав FontDialog в программе разработки Windows Forms, можно присвоить
свойству ShowApply значение true с помощью окна Properties. Каким образом мож-
но узнать, что пользователь нажал кнопку Apply? Диалоговое окно по-прежнему
остается открытым, и метод showDiaiogO не возвращает никаких значений. Вместо
ЭТОГО МОЖНО добавить Обработчик Событий ДЛЯ СОбыТИЯ Apply Класса FontDialog,
нажав кнопку Events в окне Properties и введя имя обработчика в событие Apply.
Как станет ясно из приведенного далее кода, автор использовал имя onAppiy-
FontDialog. Этот обработчик позволяет получить информацию о том, какой имен-
но шрифт выбран в диалоговом окне FontDialog с помощью переменной класса
FontDialog;
private void OnApplyFontDialog(object sender, System.EventArgs e)
textBoxEdit.Font = dlgFont.Font;•
Использование диалоговых окон 423
sic cob's:
ЕГГГ ГГ
тггггггг
Диалоговое окно ColorDialog
В диалоговом окне ColorDialog не так много настраиваемых возможностей, как
в FontDialog. ColorDialog позволяет пользователю создать свои собственные цвета,
если его не устраивает ни один из предлагаемых базовых цветов; это достигается
установкой СВОЙСТВа AllowFullColor.
Часть диалогового окна, отвечающая
за создание цветов, может быть ав-
томатически расширена посредст-
вом свойства Fulicolor. Свойство
SoiidCoiorOnly указывает на то, что
пользователем могут выбираться
только однородные цвета. Свойство
Pull 6 реп
Г"
•••Bill
п I J п
I ! ! ЗогЗ |
гггггггг S.3!; р Г ~ Green: [0~~
CofodSoiid 1 и г л ; [ ( Г ~ Blue: f5
Add IQ Custom Cote з
CustomColors может быть использо-
вано для считывания и записи новых
значений параметров создаваемого
цвета (см. рис. слева).
Использование диалогового окна выбора цветов
Диалоговое окно ColorDialog может быть перенесено мышью из окна с инстру-
ментами и помещено в программу разработки Windows Forms точно так же, как
и другие. Метод showDiaiogO будет выводить этот диалог на экран до тех пор,
пока не будет нажата кнопка ОК или кнопка Cancel. Узнать, какой цвет выбран
пользователем, можно, считав значение свойства color данного диалога, как это
продемонстрировано в следующем примере:
if (dlgColor.ShowDiaiogO == DialogResult.OK)
textBoxEdit.ForeColor =•dlgFont.Color;
f§ > Ш . .-
Свойства диалогового окна ColorDialog
Все свойства, которые оказывают влияние на внешнее представление этого
окна, сведены в следующую таблицу:
Свойства Описание
AllowFullopen Присвоив этому свойству значение false, можно запретить пользователю
самостоятельно определять цвета, отключив кнопку Define Custom Colors.
Значение этого свойства по умолчанию — true.
FullOpen Присвоив этому свойству значение true, перед тем как диалог будет выведен,
можно добиться автоматического открытия диалогового окна с возможностью
создания собственных цветов.
AnyColor Присвоив этому свойству значение true, можно получить все допустимые цвета
в списке основных цветов.
CustomColors С помощью этого свойства можно создавать массивы заранее определенных
цветов и считывать цвета, определенные пользователем.
SoiidCoiorOnly Если этому свойству присвоено значение true, то пользователь имеет
возможность выбирать только однородные цвета.
424 Глава 15
Итоги
В настоящей главе мы познакомились с тем, каким образом в приложениях
можно использовать классы диалоговых окон. Мы узнали, как можно открывать
и сохранять файлы, сделали обзор классов, которые используются в .NET Framework
для вывода на печать, а затем рассказали о том, каким образом можно вклю-
чать в приложения различные возможности для вывода на печать. Подводя итоги,
перечислим те классы диалоговых окон, которые мы использовали в нашем прило-
жении Simple Editor:
• openFiieDialog используется для ввода пользователем имени
открываемого файла.
• saveFiieDialog используется для ввода пользователем имени
сохраняемого файла
• PrintDialog используется для выбора принтера, на котором
будет осуществляться печать и для задания конфигурации печати
• PageSetupDiaiog используется для изменения параметров полей страницы,
на которой осуществляется печать
• PrintPreviewDialog используется для предварительного просмотра
выводимой на печать информации, что позволяет пользователю
заранее знать, каким образом будет выглядеть отпечатанный документ
• Мы также познакомились с основными возможностями классов
FontDialog и ColorDialog. Включение этих классов в приложение
Simple Editor будет использовано в качестве одного из упражнений.
Упражнения
Поскольку диалоговые окна FontDialog и ColorDialog работают точно так же, как
и другие, рассматривавшиеся в этой главе, задача включения их в приложение
Simple Editor не представляет никаких сложностей:
1. Предусмотрите возможность для пользователя изменять шрифт
текстового окна. Для реализации такой возможности введите новое
вхождение основного меню — F&ormat, и субменю Format — &Font... .
Добавьте в этот пункт меню обработчик событий. Включите
в приложение диалоговое окно FontDialog с помощью программы
разработки Windows Forms. Выведите это окно с помощью
обработчика событий меню и присвойте выбранный шрифт
в качестве значения свойству Font текстового окна.
Вам также придется внести изменения в реализацию метода
onPrintPage (), которые позволят использовать выбранный шрифт
при выводе на печать. В предшествующей реализации нами был
СОЗДан НОВЫЙ объект Font В методе Drawstring() объекта Graphics.
В данном случае мы вместо этого используем шрифт объекта
textBoxEdit, считывая значение свойства Font. Также необходимо
учитывать возможность возникновения проблем, если пользователь
выбирает слишком большой шрифт. Чтобы избежать ситуацию, при
которой текущая строка будет частично налагаться на другую строку,
Использование диалоговых окон 425
расположенную ниже или выше, следует внести соответствующие
изменения в фиксированное значение, которое использовалось
для определения позиции строк по вертикали. Наилучшим способом
будет использование в качестве величины, на которую увеличивается
вертикальная координата строки, значение размера шрифта:
ИСПОЛЬЗуЙте СВОЙСТВО Height Класса Font.
2. Другим существенным расширением приложения Simple Editor
будет включение в него возможности изменять цвет шрифта.
Добавьте второе подменю во вхождение меню Format — Color... .
Добавьте обработчик для данного вхождения меню, в котором
осуществляется открытие диалогового окна ColorDialog.
Если пользователь нажимает кнопку ОК, присвойте выбранный
в окне ColorDialog цвет свойству ForeColor текстового окна.
В методе onPrintPageO убедитесь в том, что выбранный цвет
используется только в том случае, если принтер поддерживает
цветную печать. Проверить, поддерживает ли принтер цветную
печать, можно с помощью свойства PageSettings. color аргумента
PrintPageEventArgs. Можно создать объект типа кисти того цвета,
который используется в текстовом окне, с помощью
следующего кода:
Brush brush = new SolidBrush(textBoxEdit.ForeColor);
Эта кисть может использоваться в качестве аргумента
метода Drawstring о вместо черной кисти, применявшейся
в предыдущем примере.









Категория: информатика | Просмотров: 2657 | Добавил: basic | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Календарь
«  Февраль 2010  »
ПнВтСрЧтПтСбВс
1234567
891011121314
15161718192021
22232425262728
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0

krutoto.ucoz.ru
Бесплатный конструктор сайтов - uCoz