Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 156

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 150 151 152 153 154 155 < 156 > 157 158 159 160 161 162 .. 320 >> Следующая

Член Назначение " ~ " ~~
Count Возвращает текущее количество объектов класса Menultem в коллекции
Add() Добавляет новый объект класса Menultem в коллекцию. Существует множество
перегруженных вариантов этого метода, которые позволяют указывать клавиши быстрого доступа, делегаты и многое другое
Remove') Для удаления объектов класса Menultem из коллекции
AddRangeO Позволяет добавить в коллекцию за один раз массив объектов Menultem
CIeSrCJ Удаляет все объекты Menultem из коллекции
ContainsO Используется для того, чтобы определить, присутствует ли определенный
объект класса Menultem в коллекции_
Создание системы меню в приложении
Теперь, когда мы выяснили возможности абстрактного класса Menu и кложі-нін го в него класса MenuItemCol 'ection, можно приступать к созданию нашего простого меню Fue (Файл). Первое, что мы должны сделать - создать объект MainMenu. Этот класс представляет элементы меню верхнего уровня (такие как File (Файл), Edit (Правка), View (Вид), Tools (Сервис), Help (Справка) л т. п.) Код для этого может выглядеть следующим образом:
public • г' ' гт г : Form {
// Главное пеню для нашей фориы private MainMenu mainMenu:
public
^ // Создаем это главное неню mainMemu = new Ma і nMenu О:
}
Г
После того как мы создали объект MainMenu, наша следующая задача — использовать метод ¦¦ ,.'-,¦. . 1 ecti on. Ado<), чтобы вспнипъ элемент меню верхнего уровня (в нашем случае File). Метод Menu$MenuItemCollection.Add<) вернет новый объект Menultem, который представляет только что вставленный в главное меню элемент File.
Чтобы добавить в меню File пункт Exit (Выход), необходимо вставить в коллекцию MenulMenuItemCollection, которая находится внутри объекта Menultem (конечно,
378 Глава 8 * Окна становятся лучше: введение Е; Windows.Forms
}
Обратите внимание на использование во. а амнерсалла (&) в названии элемента меню. Символ, перед которым стоит амперсанд, определяет букву, которая будет подчеркнута в названии элемента меню. Данный элемент будет активизироваться при нажатии соответствующей этой букве клавиши. Таким образом, если мы указали название меню как SFiIe, мы можем открыть меню FiLe при помощи клавиатурной комбинации Alt+F.
При добавлении пункта меню Exit мы указали еще и дополнительную клавиатурную комбинацию Ctrl+X. Значения для подобных клавиатурных комбинаций приведены в перечислении System. Windows. Forms Shortcut. В нем представлены как привычные всем комбинации Ctrl+C, Ctii+V, Fl, F2 INS, таки более экзотические.
Теперь мы можем создать уже полное приложение, использующее меню. Обратите внимание на небольшой трюк — как, оказывается, можно установить, например, значение свойства ВаскСоїогпри помощи метода MainMenu.GetFormO:
Il Простое приложение с главным меню
!public class MainForm : Form
{
// Главное неню для формы private MainMenu mainMenu;
// Эапускаен приложение [STAThread]
public static int toin;str;ny[.l args)
представляющего в нашем случае меню FiU;), новы и объектHenuiteir:. Если потребуется поместить внутрь меню прочие элементы, это делается точно так же. После того как вставка алсмсшчш в меню запершит, нос еднее, что мы должны сделать, — присоединить созданную систему меню к нашей форме, используя для этого свойство Form. Menu. Выглядеть все это может так:
public class MainFu'-nr Form {
II Главное неню для Form private MainMenu mainMenu;
public MairtFcr.T.0 {
// Создаен главное неню mainMenu = new MainMenuO;
II Создаем меню FHe и добавляем его и MenuItemCollection
Menultem mi Fi Ie = mainMenu.MenuItems.AddC'&File");
// Теперь создаем подменю Exit и добачляем его в меню File, Этот вариант // Add О принимает: (1) создаваемый объект Menultem; С2) создаваемый // делегат (EventHandler); (3) необязательную клавиатурную комбинацию // быстрого доступа
miFileMenuItems.AddCnew MenuItemCESxit".
new ЬімтеШеі-(this. Fі ІеЕхіt Cl ісШ). Shortcut XtrW):
Il Присоединяем главное неню к объекту Form this. Menu = mainMenu:
Создание системы меню в приложении 379
I
[Ц Simple Menu ив B
Ffc j Hdp''
I About CTW.+A •

Рис. 8,23. Появляется новое меню
Логика при создании Help > About, конечно, будет точно такой же, как и при создании Fue > Exit мы просто добавляем новый объект Menultem в коллекцию внутри объекта Ma і nMenu, а затем добавляем в этот объект Menu I tem еще один Menu Item для About:
Il Создаем форму public MainFormO (
II Настраиваем исходный облик и местонахождение формы Text - "Simple Menu"; CenterToScreenO;
II Создаем объект главного пеню mainHenu = new MainMeniK):
// Создаем меню File | Exit
Menultem miFile - mairiMenu.Menultems.Add("SFiIe");
ffri"Fi1e.Menultems.Add(new MenuItem("E&xit".
new EvenlHandlerittns .Fi leFjnt_C11cked). Shortcut.Ctrl X));
Il Присоединяем главное меню к объекту Form
this. Menu = mainMenu;
// MainMenu.GetFormt) возвращает ссылку на форму, на которой расположено // неню. Поэтому мы ноием сделать такой маленький фокус: malnMenu.GetFormO.BackColor * Color.Black;
}
// И не забыть про обработчик событий для File > Exit
Предыдущая << 1 .. 150 151 152 153 154 155 < 156 > 157 158 159 160 161 162 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100