? Методика создания меню

Глава 3. Методика создания меню


В начало

Параграф 1. Методика создания меню формы

Создадим Windows Application решение, как показано в параграфе "Простейшие Windows Application решения", и поместим на форму контрол MenuStrip. Он разместится внизу окна редактора формы.

В функции InitialiseComponent() файла Form1.Designer.cs, как и при добавлении других контролов, появятся строки определения меню и задания его свойств:

this.menuStrip1 = new System.Windows.Forms.MenuStrip();
this.SuspendLayout();
// menuStrip1
// 
this.menuStrip1.Location = new System.Drawing.Point(0, 0);
this.menuStrip1.Name = "menuStrip1";
this.menuStrip1.Size = new System.Drawing.Size(548, 24);
this.menuStrip1.TabIndex = 0;
this.menuStrip1.Text = "menuStrip1";

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

Вызовем контекстное меню контрола и выберем пункт Properties. Ознакомимся с некоторыми свойствами. Прежде всего нас интересуют:

  • LayoutStyle - расположение пунктов меню на форме, выберем HorisontalStackWithOverflow (по умолчанию);

  • MaximumSize и MiniumSize, Size - иногда бывает целесообразно выбрать размер по Y, такой, чтобы можно было разместить рисунки на панели меню без их искажения (зависит от конкретной ситуации).

  • BackColor - по своему усмотрению или можно выбрать значение Control (цвет, в данном случае, формы).

  • AutoSize - True.

Остальные параметры оставим без изменения.

Далее, будем добавлять пункты меню. Прежде всего можно добавить стандартный набор пунктов меню, если кликнуть мышкой на маленькой стрелочке в правом верхнем углу панели меню и выбрать ссылку Insert Standart Items (Рис.1.).

menu001.gif

Рис.1. Добавление стандартных пунктов меню

Окно MenuStript Tasks дает еще несколько возможностей по конструированию меню, в том числе задать расположение меню, включить пункты меню в контейнер, быстро перейти к редактированию пунктов меню. Однако, далее мы создадим несколько пунктов меню, обычным образом. Для этого, кликнем мышкой на панели меню в дизайнере формы. На образце формы появилась полоска с окошечком "Type Here". Введем традиционый для всех меню пункт &File - окно "Type Here" размножилось, показывая направления дальнейшего ввода (Рис.2.), а в окне редактора кода в определениях и функции InitializeComponent() добавился код:

this.menuStrip1 = new System.Windows.Forms.MenuStrip();
//Создание и размещение пункта меню
this.fileToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout();
this.SuspendLayout();
// fileToolStripMenuItem
//Его свойства 
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
this.fileToolStripMenuItem.Text = "&File";

menu002.gif

Рис.2. Добавление и редактирование пунктов меню

Далее, вводим в "Type Here" подпункт "Exit" (Рис.2.). После чего, для данного пункта, в его контекстном меню, выбираем Properties. И, прежде всего, задаем горячую клавишу, выбрав свойство ShortcutKeys, как показано на Рис.3.

menu003.gif

Рис.3. Задание горячих клавиш

Для данного пункта создаем обработчик события выбора подпункта меню Exit. Как и для кнопок, можно создать обработчик двойным кликом мышки на данном пункте в дизайнере формы или в меню Properties на вкладке Events двойным кликом мышки в окне свойства Click.

private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
 Close();
}

Соответственно в файле Form1.Designer.cs добавился код:

this.exitToolStripMenuItem.Click += new 
System.EventHandler(this.exitToolStripMenuItem_Click);

Далее нажимаем F5 и можем пользоваться меню формы File | Exit или горячими клавишами Alt+X для закрытия формы.


В начало

Параграф 2.  Особенности создания контекстного меню

Контекстное меню создается, во многом, аналогично меню формы.

menu004.gif

Рис.4. Создание и подключение контекстного меню для формы

Как видно из Рис.4., для создания контекстного меню, необходимо поместить на форму контрол СontextMenuStrip. Далее, полная аналогия с созданием меню формы (разработчики даже ввод имен пунктов меню поместили в тоже место формы, где добавляются пункты меню формы, в ее верхнюю часть). Задание обработчиков (событие Click) также можно выполнить двойным кликом на пункте меню или на вкладке Events окна Properties контрола, где могут быть заданы и другие обработчики.

Однако контекстное меню, в отличие от меню формы, требует подключения. Для этого в окне Proporties для формы (или любого другого контрола, который имеет свойство ContextMenu) в выпадающем списке ContextMenu должно быть выбрано созданное контекстное меню.

Молчанов Владислав 20.06.2004г.

Адаптировано к VS 2005 5.11.2006г.

Еcли Вы пришли с поискового сервера - посетите мою главную страничку

На главной странице Вы найдете программы комплекса Veles - программы для автолюбителей, программы из раздела графика - программы для работы с фото, сделанными цифровым фотоаппаратом, программу Bricks - игрушку для детей и взрослых, программу записную книжку, программу TellMe - говорящий Русско-Английский разговорник - программу для тех, кто собирается погостить за бугром или повысить свои знания в английском, теоретический материал по программированию в среде Borland C++ Builder, C# (Windows приложения и ASP.Net Web сайты).

В начало страницы

К началу раздела

К началу книги


Сайт управляется системой uCoz