2009-07-01 3 views
8

У меня есть ряд флажков в форме. Я хочу, чтобы иметь возможность выбирать их из контекстного меню, а также самой формы. Контекстное меню связано с иконкой в ​​системном трее приложения.C# Добавить флажок в контекстное меню WinForms

Мой вопрос: возможно ли связать контекстное меню с этими флажками? Или даже добавить флажки в контекстное меню? Или даже комбинация ?!

ответ

15

Элементы меню имеют свойство Checked (MenuItem.Checked, ToolStripMenuItem.Checked), которое вы можете использовать для этой цели.

Что касается возможности связать элементы контекстного меню для флажков, если вы используете ContextMenuStrip и установить CheckOnClick свойства true, вы можете подключить к CheckedChanged события на тот же обработчик событий для элементов управления ToolStripMenuItem и CheckBox, которые должны быть «связанными», а внутри этого обработчика событий необходимо синхронизировать свойство управления Checked и выполнять любые другие необходимые действия.

1

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

Вы также можете использовать событие «Открытие» контекстного меню, чтобы установить состояние «Проверено» пунктов меню в зависимости от установленного состояния флажков.

1
//Create the combo box object and set its properties 
    cmbFunctionArea    = new ComboBox(); 
    cmbFunctionArea.Cursor  = System.Windows.Forms.Cursors.Arrow; 
    cmbFunctionArea.DropDownStyle=System.Windows.Forms.ComboBoxStyle.DropDownList; 
    cmbFunctionArea.Dock   = DockStyle.Fill; 
    //Event that will be fired when selected index in the combo box is changed 
    cmbFunctionArea.SelectionChangeCommitted += new EventHandlercmbFunctionArea_SelectedIndexChanged);