2009-07-01 4 views
8

Tengo una serie de casillas de verificación en un formulario. Quiero ser capaz de seleccionar estos desde un menú contextual, así como el formulario en sí. El menú contextual está vinculado al icono de la bandeja del sistema de la aplicación.C# Agregar casilla de verificación a WinForms Menú contextual

Mi pregunta es, ¿es posible vincular el menú contextual a estas casillas de verificación? ¿O incluso es posible agregar casillas de verificación al menú contextual? O incluso una combinación ?!

Respuesta

15

Los elementos del menú tienen una propiedad Checked (MenuItem.Checked, ToolStripMenuItem.Checked) que puede usar para este propósito.

Respecto a la posibilidad de vincular los elementos del menú contextual de las casillas de verificación, si se utiliza un ContextMenuStrip y establecer CheckOnClick propiedad a true, puede conectar los CheckedChanged eventos al mismo controlador de eventos para los controles ToolStripMenuItem y CheckBox que debe estar "vinculado", y dentro de ese controlador de eventos, asegúrese de sincronizar la propiedad Checked de los controles y realizar cualquier otra acción necesaria.

1

Bueno, un elemento del menú tiene la propiedad "Comprobado", que puede hacer que se comporte como una casilla de verificación. Cuando hace clic en un elemento de menú, puede alternar programáticamente el estado de la casilla de verificación correspondiente en su formulario.

También puede usar el evento de Apertura del menú contextual para establecer el estado Comprobado de los elementos del menú en función del estado verificado de las casillas de verificación.

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