C# Добавить Флажок В Контекстное Меню WinForms

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

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

4 ответов


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

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


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

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


вы можете разместить стандартные, а также пользовательские элементы управления, обернув их в ToolStripControlHost

http://msdn.microsoft.com/en-us/library/system.windows.forms.toolstripcontrolhost.aspx


  //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);