Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.раб. поС#.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
1.88 Mб
Скачать

Создание многооконного приложения

Разберем создание MDI приложений на примере разработки программы «Блокнот».

  1. Создайте новое приложение (программа 5) и назовите его NotepadC#. Установите следующие свойства формы:

Form1, форма,

Свойство

Значение

Name

Frmmain

Icon

Путь C:\Program Files\Microsoft Visual Studio 9\Common7\VS2008ImageLibrary....

Text

NotepadC#

WindowState

Maximized

  1. Создайте меню приложения. Для этого перетащите элемент управления menuStrip, расположенный на панели инструментов ToolBox, на форму и заполните строки меню следующими пунктами (рис. 4.1).

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

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

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

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

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

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...

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

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

При создании нескольких документов, например в Microsoft Word, они называются ДокументN, где N — номер документа. Переключаемся в код формы blank, и в классе blank объявляем переменную public String DocName;

Переключаемся в код формы frmmain и в классе frmmain объявляем переменную private int openDoc;

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

private void mnunew_Click(object sender, EventArgs e) {

frm = new blank();

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

frm.Text = frm.DocName;

frm.MdiParent = this;

frm.Show();

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]