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