Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лабораторные / Программиров лаб_6_2014 windows приложение.doc
Скачиваний:
65
Добавлен:
21.03.2015
Размер:
933.89 Кб
Скачать

Форматирование элементов управления

Расположение элементов на форме во многом определяет удобство работы с готовым приложением. Пункт главного меню Format содержит опции выравнивания, изменения размера и блокировки элементов управления (рис. 2.4):

Рисунок 2.4 -  Пункт главного меню Format

При выделении нескольких элементов управления около одного из них появляются темные точки маркера (рис.2.4). Свойства выбранных элементов будут изменяться относительно этого, главного элемента управления. Для последовательного выделения нескольких элементов удерживаем клавишу Shift, главным элементом будет последний выделенный элемент.

Таблица 2.2 Значение пунктов меню формат

Пункт меню Format

Описание

Align

Выравнивание выбранных элементов управления

Make Same Size

Установка равного размера

Horizontal Spacing

Пробел между элементами по горизонтали

Vertical Spacing

Пробел между элементами по вертикали

Center in Form

Расположение элементов управления относительно формы

Order

Вертикальный порядок элементов управления

Lock Controls

Блокировка элементов

При создании дизайна формы всегда следует использовать возможности студии для расположения элементов. При создании приложения SocOpros, например, было использовано расположение элементов управления относительно центра формы (Center in Form).

Группа меню

В любом приложении присутствует меню, содержащее в себе доступ ко всем возможностям и настройкам приложения. Элементы MainMenu, ContextMenu представляют собой готовые формы для внесения заголовков и пунктов меню.

Создание главного меню

Большинство Windows-приложений оснащено главным меню, которое представляет собой иерархическую структуру выполняемых функций и команд. Практически все функции, которые можно осуществить при помощи элементов управления, имеют свой аналог в виде пункта меню.

Для создания главного меню используется элемент управления MainMenu, расположенный на панели инструментов ToolBox. Создайте новое приложение и назовите его NotepadC#. Установите следующие свойства формы:

Form1, форма,

Свойство

Значение

Name

frmmain

Icon

Путь С:\Program Files\Microsoft Visual Studio .NET2003\Common7\Graphics\icons\....

Text

Notepad C#

WindowState

Maximized

Перетаскиваем элемент управления на форму. Нам предстоит заполнить строки меню следующими пунктами (рис. 3.1):

Рисунок 3.1 - Пункты главного меню приложения Notepad C#

Для этого вызовите контекстное меню, установив курсор мыши на компоненте MainMenu1, расположенной на панели невидимых компонент, и выберите пункт Edit Menu. Каждый пункт главного меню имеет свое окно свойств, в котором, подобно другим элементам управления, задаются значения свойств Name и Text (рис. 3.2). В поле Text перед словом New стоит знак & — так называемый амперсанд, указывающий, что N должно быть подчеркнута и будет частью встроенного клавиатурного интерфейса Windows. Когда пользователь на клавиатуре нажимает клавишу Alt и затем N, выводится подменю New.

Рисунок 3.2 -  Свойства пункта меню New

В Windows есть еще интерфейс для работы с так называемыми быстрыми клавишами, или акселераторами. Сочетание клавиш указывают из перечисления Shortcut. Следует назначать стандартным пунктам общепринятые сочетания клавиш. Горизонтальная разделительная линия используется в тех случаях, когда надо визуально отделить сходные группы задач; для ее появления в свойстве Text пункта меню просто вводим знак тире. Для использования пунктов меню в коде, им также назначают имена (свойство Name), которые особенно важны, т.к. пунктов меню обычно бывает много. Свойства пунктов меню в приложении Notepad C# приводятся в таблице 3.1.

Таблица 3.1. Пункты главного меню приложения Notepad C#

Name

Text

Shortcut

mnuFile

&File

mnuNew

&New

CtrlN

mnuOpen

&Open

CtrlO

mnuSave

&Save

CtrlS

menuItem5

-

mnuExit

&Exit

AltF4

mnuEdit

&Edit

mnuCut

Cu&t

CtrlX

mnuCopy

&Copy

CtrlC

mnuPaste

&Paste

CtrlV

mnuDelete

&Delete

Del

mnuSelectAll

&SelectAll

CtrlA

mnuFormat

F&ormat

mnuFont

Font…

mnuColor

Color…

mnuWindow

&Window

mnuArrangeIcons

Arrange Icons

mnuCascade

Cascade

mnuTileHorizontal

Tile Horizontal

mnuTileVertical

Tile Vertical

mnuHelp

?

mnuAbout

About Programm...

Можете самостоятельно выбрать сочетания клавиш, не указанные в табл. 3.1, для соответствующих пунктов меню.

В MDI-приложениях главная форма содержит в себе несколько документов, каждый из которых является холстом в графических программах или полем для текста в редакторах. Продолжим работу над приложением Notepad C#. В окне Solution Explorer щелкаем правой кнопкой на имени проекта и в появившемся контекстном меню выбираем Add/ Add Windows Form… . В появившемся окне называем форму – blank.cs. В нашем проекте появилась новая форма — будем называть ее дочерней. В режиме дизайна перетаскиваем на нее элемент управления RichTextBox: в отличие от элемента textBox, размер содержимого текста в нем не ограничивается 64 Кб; кроме того, RichTextBox позволяет редактировать цвет текста, добавлять изображения. Свойству Dock этого элемента устанавливаем значение Fill.

Переходим в режим дизайна формы frmmain и устанавливаем свойству IsMdiContainer значение true. Цвет формы при этом становится темно-серым. Новые документы будут у нас появляться при нажатии пункта меню New (которому мы установили сочетание клавиш Ctrl+N), поэтому дважды щелкаем в этом пункте и переходим в код.

При нажатии клавиш Ctrl+N или выборе пункта меню New появляется несколько окон, расположенных каскадом. Однако заголовок у них будет одинаковый — blank. При создании нескольких документов, например в Microsoft Word, они называются ДокументN, где N — номер документа. Переключаемся в код формы blank, и в классе blank объявляем переменную DocName:

public string DocName = "";

Переключаемся в код формы frmmain и в классе frmmain объявляем переменную openDocuments:

private int openDocuments = 0;

Присваиваем переменной DocName часть названия по шаблону, в который включен счетчик числа открываемых документов, затем это значение передаем свойству Text создаваемой формы frm:

private void mnuNew_Click(object sender, System.EventArgs e) {

blank frm = new blank();

frm.DocName = "Untitled " + ++openDocuments;

frm.Text = frm.DocName;

frm.MdiParent = this;

frm.Show();

}

Запускаем приложение.

Соседние файлы в папке лабораторные