Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 167

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 161 162 163 164 165 166 < 167 > 168 169 170 171 172 173 .. 404 >> Следующая


Контекстное меню — это меню, которое открывается, когда пользователь щелкает правой кнопкой мыши на каком-либо объекте, расположенном в форме. Контекстное меню, изображенное на рисунке слева, представляет собой меню, которое автор получил, щелкнув правой кнопкой мыши на рабочем столе своего компьютера

Создать контекстное меню можно посредством переноса такого меню в форму и добавления к нему необходимых пунктов — точно так же, как это может быть сделано со управляющим элементом KainMenu. Единственное отличие заключается в том, что в контекстном меню не допускается наличие пунктов самого верхнего уровня. Для того чтобы привязать контекстное меню к какому-либо управляющему элементу в форме, следует выбрать соответствующий управляющий элемент и присвоить его свойству contextMcnu указатель на созданное вами контекстное меню.

Практикум: пример использования меню

Теперь можно создать пример использования различных меню, который будет использоваться в качестве базового по мере создания более сложных примеров с использованием меню прн обсуждении MDI-приложений, В данном примере мы создадим одно основное меню и одно контекстное меню:

1. Начните с создания нового Windows Application.

Назовите его HenuExample,

' ActfvoQesttop >

(,‘is UpIcons

Rgfresh- ¦

Ptoperfci ,
Дополнительные возможности Windows Form

353

2. Добавьте в форму управляющие элементы MainMenu и ContextMenu посредством двойного щелчка мышью на соответствующих управляющих элементах, находящихся в панели инструментов. Назовите эти управляющие элементы соответственно MainMenuFiles И ContextMenuFonts,

Название Текст
menuitemPiles ftFiles
menuItemNew tNew
menuItemOpen SOpen
menuItemSave bSave
menuItemSeparatorO -
menuItemExit Ebxit

3. Добавьте приведенные ниже пункты в управляющий элемент MainMenu, выбрав его и вводя текст В соответствующие пункты меню, начав С menuItemFiles н двигаясь вннз. Меню menuitemPiles как меню самого верхнего уровня. Помните, что вы создаете разделитель, вводя в меню один дефис (-), а также определяете мнемонические символы для каждого пункта, включая амперсанд (&) перед символом, который выбирается в качестве мнемонического (см. табл. слева).

4. Выберите контекстное меню и создайте следующие пункты меню точно так же, как вы делали это выше (см. табл. справа).

5. Добавьте к форме один управляющий элемент RichTextBox. Назовите его rtfText и присвойте его свойству Dock

Имя Текст
menultemBold bBold
rcenultemltalic tltalic

значение Fill, для того чтобы оно заполнило всю форму целиком, и очистите его свойство Text.

6. Выберите элемент RichTextbox и выберите

свойство ContextMenu. Из раскрываемого списка выберите ContextMenuFonts, ДЛЯ ТОГО чтобы привязать контекстное меню к управляющему элементу RichTextbox.

После этого вы должны получить форму, которая выглядит приблизительно так, как представлено на рисунке слева.

Добавление обработчиков событий

Теперь следует добавить код в наши меню. Мы постараемся не усложнять методы, соответствующие пунктам меню Орел (открыть). Save (сохранить) и New (создать новый), и для демонстрационных целей будем использовать фиксированный файл. Для того чтобы добавить обработчик событий Click в какой-либо пункт меню, следует просто дважды щелкнуть на нем мышью, как мы это делали для переключателей и других управляющих элементов. Мы добавим обработчики для следующих пунктов меню: New, Орел, Save и Exit (выход). Щелчок мышью на разделителе не допускается, кроме того, не должно выполняться никаких действий в том случае, если пользователь щелкает мышью на меню файлов, поэтому для этого пункта меню не предусмотрено никаких обработчиков событий.

Начнем с двойного щелчка мышью на пункте меню New:

private void menuItemNew_Click(object sender. System.EventArgs e)

{

this.rtfText.Clear О j
354

Глава 14

Параметр sender представляет собой ссылку на пункт меню, иа котором произошел щелчок мышью. В данном случае, нам заведомо известно, что таким пунктом является пункт New, однако обработчик события может быть привязан к нескольким пунктам, н тогда этот параметр определяет меню, которое следует использовать.

Повторите процедуру для пунктов Open, Save и Exit:

private void menuItemOpen^_Click(object sender. System.EventArgs e)

(

// Загрузка файла try (

thie.rtfText.LoadFile('.,/test.rt?*)j

}

catch (System.Exception err)

(

He lageBox.Show<'Error while loading:Sa* + err.Message)i ,

)

J

private void mcnuItemSave_Click(object gender, System.EventArgs e)

<

П Сохранения файла try {

this.rtf'! xt.SaveFilet* ../test.rtf') i

)

catch (System.Exception err)

(

MeaaageBox.Show(*&i or while saving file:\n' t err.M eage);

)

>

private void menuItemExit_Click(object sender, System.EventArgs e) f

П Выход и: приложения Application.Exit();

}

Обратите внимание на то, что мы включили сюда обработку ошибочной ситуации, когда требуемый текстовый файл отсутствует. Существует еще один способ выполнения такой проверки. Пункт меню menuitemFiles содержит и другие пункты нашего основного меню. По этой причине каждый раз, когда приходит запрос на просмотр всех членов данного пункта меню, он отправляет сообщение о событии Popup. Если мы подпишемся на это событие, то окажемся в состоянии осуществлять проверку существования требуемого файла и отключать пункт меню Open в том случае, если таковой не существует. Мы осуществим подписку иа это событие, добавив его в конструктор формы:
Предыдущая << 1 .. 161 162 163 164 165 166 < 167 > 168 169 170 171 172 173 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.