Без учета состояния остальных пунктов ниспадающего меню:
this.Пункт1.CheckOnClick = true; // В дизайнере VS
Установка и сброс отметки пунктов PopUp-меню
Задача: установить контрольную отметку у выбранного пункта ниспадающего меню, а у взаимоисключающих пунктов аналогичную отметку убрать.
рис.10
private void черный_Click (object sender, EventArgs e)
{
color = Color.Black;
MenuItemCheck ("&Черный", ЦВЕТ);
}
private void красный_Click (object sender, EventArgs e)
{
color = Color.Red;
MenuItemCheck ("&Красный", ЦВЕТ);
}
private void синий_Click(object sender, EventArgs e)
{
color = Color.Blue;
MenuItemCheck ("&Синий", ЦВЕТ);
}
private void толщина_Click (object sender, EventArgs e)
{
switch (((ToolStripMenuItem)sender).Text)
{
case "&1 пиксель":
width = 1;
break;
case "&2 пикселя":
width = 2;
break;
case "&4 пикселя":
width = 4;
break;
. . . . . . . .
}
MenuItemCheck (( (ToolStripMenuItem)sender).Text, ТОЛЩИНА);
}
//private void MenuItemCheck(ToolStripMenuItem name, ToolStripMenuItem popup)
private void MenuItemCheck ( string text, ToolStripMenuItem popup )
{
foreach (ToolStripMenuItem item in popup.DropDownItems)
{
if ( item.Text != text )
item.Checked = false;
else
item.Checked = true;
}
}
Дополнительные возможности
Элементами меню могут быть:
пункты меню типа ToolStripMenuItem,
списки ComboBox типа ToolStripComboBox,
разделители типа ToolStripSeparator,
управляющие элементы TextBox типа ToolStripTextBox.
рис.11
Особенностью элементов ComboBox и TextBox является то, что они не исчезают с экрана после их выборки. Если выбран пункт меню, то меню исчезает.
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.ToolStripTextBox toolStripTextBox1;
private System.Windows.Forms.ToolStripComboBox toolStripComboBox1;
Создание контекстного меню
Это меню, которое выводится по щелчку правой кнопки мыши, и вид которого зависит от управляющего элемента, на котором сделан щелчок. Контекстное меню, дублирующее некоторые действия основного меню, - самый привычный способ работы с программой для пользователя.
Ряд элементов управления (TextBox, ComboBox) имеют встроенное контекстное меню.
Пример: элемент управления TextBox содержит в себе простейшее контекстное меню, дублирующее действия подменю Edit.
рис.12
Добавим элемент управления ContextMenuStrip (ContextMenu – VS 2003) из окна ToolBox на форму.
Контекстное меню включает только одну древовидную структуру элементов меню, поэтому оно наследует не класс ToolStrip, а класс ToolStripDropDownMenu.
public class ContextMenuStrip : ToolStripDropDownMenu
Пункты контекстного меню добавляются точно так же, как и для главного меню. Все, что нужно сделать, — это определить, где будет появляться контекстное меню.
Дата: 2019-02-02, просмотров: 339.