2009-07-01 16 views
8

Ho una serie di checkbox su un modulo. Desidero essere in grado di selezionarli da un menu di scelta rapida nonché dal modulo stesso. Il menu di scelta rapida è collegato all'icona nella barra delle applicazioni dell'applicazione.C# Aggiungi checkbox al menu contestuale WinForms

La mia domanda è, è possibile collegare il menu di scelta rapida a queste checkbox? O addirittura possibile aggiungere caselle di controllo al menu di scelta rapida? O anche una combinazione ?!

risposta

15

Le voci di menu hanno una proprietà Checked (MenuItem.Checked, ToolStripMenuItem.Checked) che è possibile utilizzare per questo scopo.

Per quanto riguarda la possibilità di collegare le voci del menu contestuale per le caselle di controllo, se si utilizza un ContextMenuStrip e impostare CheckOnClick proprietà true, è possibile collegare le CheckedChanged eventi allo stesso gestore di eventi per i ToolStripMenuItem e CheckBox controlli che dovrebbero essere "collegato" e all'interno di quel gestore di eventi assicurarsi di sincronizzare la proprietà Checked dei controlli ed eseguire qualsiasi altra azione necessaria.

1

Bene, una voce di menu ha la proprietà "Controllata", che può comportarsi come una casella di controllo. Quando fai clic su una voce di menu, puoi attivare e disattivare a livello di codice lo stato della casella di controllo corrispondente nel modulo.

È inoltre possibile utilizzare l'evento di apertura del menu di scelta rapida per impostare lo stato controllato delle voci di menu in base allo stato selezionato delle caselle di controllo.

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