J'ai une série de cases sur un formulaire. Je veux pouvoir les sélectionner dans un menu contextuel ainsi que le formulaire lui-même. Le menu contextuel est lié à l'icône du plateau système de l'application. P>
Ma question est que est-il possible de lier le menu contextuel à ces cases à cocher? Ou même possible d'ajouter des cases à cocher dans le menu contextuel? Ou même une combinaison ?! p>
4 Réponses :
Les éléments de menu ont une propriété code> cochée code> ( menuitem.checké code> , ToolstripMenuitem.Checked code> ) que vous pouvez utiliser à cette fin. p>
Concernant la possibilité de relier les éléments de menu contextuels aux cases à cocher, si vous utilisez un contextmengrip SET> et définissez checkonclick code> propriété sur true code>, Vous pouvez connecter les événements code> checkedchanged code> sur le même gestionnaire d'événements pour la coche CODE> et Cochez la case Code> Contrôles qui doivent être "liés", et à l'intérieur de cet événement Handler Veillez à synchroniser la propriété code> cochée code> des commandes et effectuez toutes les autres actions nécessaires. P>
Eh bien, un élément de menu a la propriété "cochée", qui peut le faire se comporter comme une case à cocher. Lorsque vous cliquez sur un élément de menu, vous pouvez basculer par programme l'état de la case correspondante de votre formulaire. P>
Vous pouvez également utiliser l'événement d'ouverture du menu contextuel pour définir l'état vérifié des éléments de menu en fonction de l'état vérifié des cases. P>
Vous pouvez héberger des commandes standard et personnalisées en les enveloppant dans un outilstripcontrolhost p>
http://msdn.microsoft.com /en-us/library/system.windows.forms.toolstripcontrolhost.aspx P>
//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);