Тема 5.6 Меню
Методика создания меню формы
Создадим 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.).
Окно 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";