none
Menú dinámico

    Question

  • Saludos y buenas noches.

    En vb .net 2008 como puedo crear un menu en tiempo de ejecucuión donde tambien, se creen en tiempo de ejecución el código de los clicks en los itenes del menu...?

    Saludos y muchas gracias.


    Edward Ocando
    Mi blog
    eocando@ingen.com.ve
    Desarrollador: VB .NET, C# Visual FoxPro, PHP, JavaScript, Ajax, MS SQL, mySQL.
    Saturday, September 12, 2009 5:47 AM

Answers

  • Hola:

    El siguiente ejemplo muestra cómo crear un pequeño menú en tiempo de ejecución, donde todos los elementos comparten el mismo procedimiento Click:

    Public Class Form1
    
        Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles MyBase.Load
    
            ' Elementos del menú Archivo
            '
            Dim abrir As New MenuItem("&Abrir...", AddressOf MenuItemOnClick, Shortcut.CtrlA)
            Dim sep As New MenuItem("-")
            Dim salir As New MenuItem("&Salir", AddressOf MenuItemOnClick, Shortcut.CtrlS)
    
            ' Añadimos los elementos al menú Archivo
            '
            Dim miFile As New MenuItem("&Archivo", New MenuItem() {abrir, sep, salir})
    
            ' Elementos del menú Edición
            '
            Dim cortar As New MenuItem("&Cortar", AddressOf MenuItemOnClick, Shortcut.CtrlX)
            Dim pegar As New MenuItem("&Pegar", AddressOf MenuItemOnClick, Shortcut.CtrlV)
    
            ' Añadimos los elementos al menú Edición
            '
            Dim miEdit As New MenuItem("&Edición", New MenuItem() {cortar, pegar})
    
            ' Por último, añadimos los elementos al menú principal del formulario.
            '
            Me.Menu = New MainMenu(New MenuItem() {miFile, miEdit})
    
        End Sub
    
        Private Sub MenuItemOnClick(ByVal sender As Object, ByVal e As EventArgs)
    
            Dim mi As MenuItem = DirectCast(sender, MenuItem)
    
            MessageBox.Show("Se ha seleccionado el elemento " & mi.Text)
    
        End Sub
    
    End Class
    


    Estudia el ejemplo, adáptalo a tus necesidades, y si crees que te ha resultado útil, marca ésta respuesta como satisfactoria.

    Un saludo
    Enrique Martínez [MS MVP - VB]
    • Marked as answer by Edward Ocando Saturday, September 12, 2009 1:57 PM
    Saturday, September 12, 2009 10:17 AM