none
¿habilitar y deshabilitar de un menuStrip? RRS feed

  • Pregunta

  • Quiero que de un menuStrip sin submenus, (sin desplegables), al momento de dar clic se seleccione la opcion pero las demas se deseleccionen!!!!

    tengo esto

    Dim SeleccionaCicloide As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem)
            SeleccionaCicloide.Checked = True

            'Si se selecciona alguna otra opcion, deseleeccionar '
            For Each item As ToolStripMenuItem???  In MenuStrip1.????
                If (item IsNot SeleccionaCicloide) Then item.Checked = False

    voy bien o nada que ver???

    • Cambiado Enrique M. Montejo sábado, 3 de marzo de 2018 15:58 Pregunta relacionada con controles de Windows Forms.
    martes, 27 de febrero de 2018 8:10

Todas las respuestas

  • Puedes crearte un método que marque el item seleccionado y desmarque el resto:

        Private Sub MyItemMethodClick(sender As System.Object, e As System.EventArgs) Handles Opc1ToolStripMenuItem.Click
    
            For Each Item As ToolStripMenuItem In ToolStripMenuItem1.DropDownItems
                If Item.Name <> sender.name Then
                    Item.Checked = False
                Else
                    Item.Checked = True
                End If
            Next
        End Sub

    Para llamar a este método al hacer clic en cualquiera de las opciones del menú:

        Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
            For Each Item As ToolStripItem In ToolStripMenuItem1.DropDownItems
                AddHandler Item.Click, AddressOf MyItemMethodClick
            Next
        End Sub

    De esta forma, en lugar de cada item tenga su método _click que te obligaría a repetir el código en cada uno de esos métodos, tienes un único método común a todos los items. 


    Saludos, Javier J

    martes, 27 de febrero de 2018 9:26