- •Создание Windows-приложения «Редактор текста» в среде разработки Visual Studio содержание
- •Создание редактора текста
- •Добавление меню
- •Переименование меню и строк меню
- •Вставка поля редактирования
- •Обработка событий
- •Работа с файлами документа
- •Создание нового документа
- •Открытие существующего файла
- •Сохранение файла
- •Печать документа
- •Печать документа Добавление программных компонентов для печати
- •Настройка параметров страницы документа
- •Предварительный просмотр документа перед печатью
- •Отображение окна печати документа
- •Закрытие главного окна редактора текста
- •Закрытие главного окна формы
- •Реализация функция меню «правка»
- •Реализация функций меню «правка»
- •Реализация функций меню формат
- •Шрифт символов
- •Цвет символов
- •Стиль символов
- •Выравнивание параграфов
- •Реализация функций меню «справка»
- •Добавление новой формы
- •Отображение формы
- •Создание инструментальной панели
- •Добавление инструментальной панели в окно приложения
- •Добавление изображений в проект.
- •Редактирование кнопок инструментальной панели
- •Строка состояния
- •Строка состояния
Отображение формы
Чтобы окно формы «О программе» появилось на экране при выборе пользователем строки , мы добавили две строки в исходный текст обработчика событий menuHelpAbout_Click:
Первая строка создает новую форму f как объект класса HelpAboutForm, а вторая отображает форму на экране, вызывая для этого метод f.ShowDialog.
Итак, теперь наша форма About SimpleNotepad появляется на экране, однако закрыть ее можно только при помощи комбинации клавиш Alt-F4, используемой в ОС Microsoft Windows для закрытия окон.
Создайте обработчики событий кнопки Ок на форме HelpAboutForm, щелкнув дважды все элементы управления формы в окне дизайнера форм.
Для кнопки OK, закрывающей форму, добавьте в текст обработчика события Ok_Click вызов метода this.Close:
private void Ok_Click(object sender, EventArgs e)
{
this.Close();
}
Напомним, что этот метод закрывает форму и убирает ее с экрана.
Если вы хотите сделать реальные ссылки, то используйте LinkLabel. Например:
private void linkLabel1_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { linkLabel1.Links[linkLabel1.Links.IndexOf(e.Link)].Visited = true; System.Diagnostics.Process.Start(linkLabel1.Text); } private void linkLabel2_LinkClicked(object sender, System.Windows.Forms.LinkLabelLinkClickedEventArgs e) { linkLabel2.Links[linkLabel2.Links.IndexOf(e.Link)].Visited = true; System.Diagnostics.Process.Start(" mailto:alexandre@frolov.pp.ru"); }
Создание инструментальной панели
Во многих приложениях, созданных для ОС Microsoft Windows, наиболее часто использующиеся строки меню дублируются кнопками, расположенными на инструментальных панелях.
Добавление инструментальной панели в окно приложения
Чтобы добавить инструментальную панель в окно приложения, перетащите мышью ее значок ToolStrip из инструментальной панели в окно проектирования формы нашего приложения.
По умолчанию окно инструментальной панели появится в верхней части формы.
Рисунок 9.1 – Добавление инструментальной панели ToolStrip
Сразу после добавления окно инструментальной панели будет расположено над окном редактора текста. Чтобы исправить это положение, щелкните правой кнопкой мыши окно редактора текста, а затем выберите из контекстного меню строку Bring to Front. В результате окна примут правильное взаимное расположение.
Заметим, что строка Send to Back только что упомянутого меню позволяет выполнить обратную операцию, а именно, переместить указанный элемент на задний план.
Добавление изображений в проект.
Создайте в папке проекта отдельную папку для хранения изображений инструментальной панели, назвав ее, например, Image. Далее добавим в папку изображения: Image -> Add -> Existing Item, в открывшемся окне выберете все необходимые вам изображения.
Рисунок 9.2 – Выбор изображений
Редактирование кнопок инструментальной панели
Следующий этап — создание и редактирование кнопок инструментальной панели. Для выполнения этой работы необходимо запустить специальный редактор кнопок (рисунок). Чтобы сделать это, щелкните по треугольнику (1) и выберите Edit Items (2) , в результате откроется окно – Item Collection Editior (3). В этом окне можно добавлять элементы нашей панели и изменять их свойства.
Рисунок 9.3 – Добавление элементов панели
Вначале с помощью кнопки Add добавьте в панель 3 кнопки, потом установите разделитель Separator и добавьте еще 3 кнопки и Separator.
После добавление кнопки выделите кнопку с идентификатором toolBarButton1 отредактируйте свойство Image. Редактирование будет заключаться в выборе одного из изображений, так же измените имя toolBarButtonNew.
Переименуйте все элементы:
toolBarButton2 - toolBarButtonOpen
toolBarButton3 - toolBarButtonSave
toolBarButton5 - toolBarButtonFilePageSetup
toolBarButton5 - toolBarButtonPrintPreview
toolBarButton6 – toolBarButtonFilePrint
Для каждого элемента измените картинку.
После сохранения результатов и запуска приложения внешний вид инструментальной панели будет соответствовать рисунку 9.4.
Рисунок 9.4 – Инструментальная панель
Редактируя свойство кнопок с именем Text, Вы можете разместить на кнопках инструментальной панели подписи с кратким описанием их назначения. Чтобы названия отображались установите свойство DisplayStyle в ImageAndText Свойство ToolTipText позволит Вам снабдить каждую кнопку окном с поясняющим сообщением, которое появляется при наведении на кнопку курсора мыши.
Рисунок 9.5 - Усовершенствованная панель инструментов
По умолчанию подписи к кнопкам располагаются под графическими изображениями. Но есть и другие варианты: подписи могут находиться справа, слева, все зависит от значения свойств:
TextAlign – определяет выравнивание текста;
TextDirection – определяет вид текста (горизонтально или вертикально)
TextImageRelation – положение текста относительно картинки.
Еще одно интересное свойство инструментальной панели — свойство LayoutStyle. По умолчанию оно имеет значение StackWithOverflow – автоматическое изменение макета в соответствии со свойством Orientation для обработки скриптов перетаскивания и закрепления. Так же имеет параметры VerticalStackWithOverflow отображает элементы ToolStrip по вертикали рядом друг с другом, HorizontalStackWithOverflow отображает элементы ToolStrip по горизонтали рядом друг с другом.
Другими параметрами макетов являются Flow и Table.
Flow - размещение в стопку — это расположение элементов рядом друг с другом между концами ToolStrip.
В следующем списке описываются типы размещения в стопку (из-за чего при уменьшении размера окна по горизонтали может произойти свертка инструментальной панели (рисунок 9.6))
Рисунок 9.6 - Свертка инструментальной панели
Чтобы этого не происходило, установите другое значение свойства LayoutStylе .
Установив значение свойства RendererMode позволяет применить к ToolStrip определенный стиль или тему.