Студопедия

Главная страница Случайная страница

Разделы сайта

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Создание дочерней формы






Упражнение 5. Создание дочерней формы и дочернего меню

a. Создайте еще одно окно, которое будет дочерним. Для этого выберите пункт меню Project/Add Windows Form.

b. Задайте имя формы ChildForm.cs

c. Для свойства Text формы задайте значение Child Form.

d. В панели инструментов выберите элемент RichTextBox и задайте для его свойства Name значение ChildTextBox.

e. Для свойства Dock элемента управления RichTextBox задайте значение Fill.

f. Удалите существующий текст (если он есть) для свойсгва Text элемента управления RichTextBox и оставьте его пустым.

g. В панели инструментов выберите элемент управления MenuStrip.

h. Для свойства Name элемента управления MenuStrip задайте значение ChildWindowMenu.

i. Выделите меню в верхней части формы и наберите текст F& ormat.

j. Для свойства Name пункта меню Format задайте значение FormatMenuItem, для свойсгва MergeAction установите значение Insert, а свойству MergeIndex значение 1. В этом случае меню Format будет располагаться после File при объединении базового и дочерних меню.

k. Выделите элемент, появившийся под элементом Format, и наберите текст & Toggle Foreground.

l. Для свойства Name пункта меню Toggle Foreground задайте значение ТoggleMenuItem.

m. Дважды кликните левой кнопкой мыши но пункту меню Toggle Foreground и добавьте следующий код в обработчик события Click:

 

Упражнение 6. Отображение дочерней формы

a. Откройте ParentForm.cs в режиме конструктора.

b. Дважды кликните левой кнопкой мыши по кнопке New в меню File для создания обработчика события Click.

c. Добавьте следующий код для обработчика события Click для пункта меню New:

 

d. Для проверки работы приложения постройте и запустите приложение. Когда появится родительская форма, выберите пункт меню File | New.

В родительском окне появится новая дочерняя форма. Обратите внимание на то, дочернее меню сливается с родительским и пункты меню упорядочиваются в соответствие со свойством MergeIndex, установленным ранее.

e. Наберите какой-нибудь текст в дочернем окне и воспользуйтесь пунктом меню Format для изменения цвета шрифта текста.

f. Откройте еще несколько дочерних окон.

g. Выберите пункт меню Window | Tile. Обратите внимание на то, что дочерние окна выстраиваются в упорядоченном порядке.

h. Закройте все дочерние окна. Обратите внимание на то, что, когда закроется последнее дочернее окно, меню родительской формы изменится, и оттуда исчезнет пункт Format.

i. Для закрытия приложения выберите пункт меню File | Exit.

Упражнение 7. Вырезание, копирование и вставка текстовых фрагментов

Теперь приступим к созданию обработчиков для стандартных операций вырезания, копирования и вставки. Элемент управления RichTextBox имеет свойство SelectedText, которое содержит выделенный фрагмент текста. На основании этого свойства и будут реализованы действия по работе с текстом. В коде дочерней формы объявите переменную BufferText, в которой будет храниться буферизованный фрагмент текста:

private String BufferText;

Далее создайте соответствующие методы:

Для работы с текстом в дочерней форме самостоятельно добавьте пункт меню Edit и 5 подпунктов этого меню (Копирование, Вырезание, Удаление, Вставка, Выделение).

Переключитесь в режим дизайна формы и создайте обработчики для всех пунктов меню по следующему примеру:

 

 

Упражнение 8. Создание контекстного меню

Контекстное меню дублирует некоторые действия основного меню.

Добавьте элемент управления contextMenuStrip из окна ToolBox на форму ChildForm. Добавьте пункты контекстного меню точно так же, как сделали для главного меню Edit.

Свойство Text и Shortcut пунктов меню оставьте прежними. Если установить для свойства ShowShortcut значение false, то сочетания клавиш будут работать, но в самом меню отображаться не будут.

В обработчике пунктов для каждого подпункта вызовите методы по примеру:

 

Необходимо определить, где будет появляться контекстное меню. Элемент RichTextBox, так же как и формы ParentForm и ChildForm, имеет свойство ContextMenuStrip, где мы и указываем contextMenuStrip1, поскольку нам нужно отображать меню именно в текстовом поле.

Упражнение 9. Задание нумерованного заголовка дочерним окнам

Обратите внимание, что заголовок у дочерних окон одинаковый. При создании нескольких документов, например в Microsoft Word, они называются Документы, где N — номер документа. Реализуйте эту возможность:

a. Откройте код родительской формы и в классе ParentForm объявите переменную openDocuments:

private int openDocuments = 0;

b. К свойству Text дочерней формы добавьте счетчик числа открываемых документов (в коде обработчика события Click для пункта меню New):

newChild.Text = newChild.Text+" " + ++openDocuments;

 






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.