Double Click sur MenuStrip

kapkedor - 19 juin 2013 à 10:28
cracken35 Messages postés 19 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 29 juin 2013 - 28 juin 2013 à 19:11
Bonjour,

J'ai cherché sur le net, mais je n'arrive pas à trouver une réponse. Je créé un menu manuellement pour pouvoir porter mon code assez facilement, mais si j'execute ceci, je suis obligé de cliquer une première fois pour activer le menu et une seconde fois pour dérouler mon sous menu, alors que je souhaiterais faire en sorte que lors du premier clic, mon menu se déroule.

Voici mon code :

Form1.vb :
Public Class Form1
Public Shadows menu As System.Windows.Forms.MenuStrip

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

       
        '------------------------'
        ' Paramétrage de la Form '
        '------------------------'

        Me.Name = "Mon Appli"
        Me.Text = "Mon Appli"
        Me.Size = New System.Drawing.Size(500, 400)
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedToolWindow
        Me.ShowIcon = True

        '-------------------'
        ' On génère le menu '
        '-------------------'
        menu = New System.Windows.Forms.MenuStrip()
        Me.Controls.Add(Me.menu)


        Menu.Items.Add("Réseau", Nothing, New System.EventHandler(AddressOf NetworksMenu_OnClick))


        Me.Controls.Add(Menu)

    End Sub

End Class



Module Menu :
    
Module Menu

Public Sub NetworksMenu_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim cms_network As New ContextMenuStrip()

        cms_network.Items.Add("Firewall", Nothing, New System.EventHandler(AddressOf FireWall_onclick))
        cms_network.Items.Add("Outils Réseaux", Nothing, New System.EventHandler(AddressOf NetworkTools_onclick))

        Dim Tsi_Networks As ToolStripMenuItem = CType(sender, ToolStripMenuItem)


        Tsi_Networks.DropDown = cms_network

    End Sub
End Module



Je vous remercie par avance pour votre aide parce que cela fait une journée que je cherche et je n'arrive à rien.

Cordialement,
Kap

2 réponses

cracken35 Messages postés 19 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 29 juin 2013 1
28 juin 2013 à 19:01
tu devrait generer tout tes menus au lieu de faire comme tu as fait :s
0
cracken35 Messages postés 19 Date d'inscription mercredi 19 mai 2010 Statut Membre Dernière intervention 29 juin 2013 1
28 juin 2013 à 19:11
Voila ;)

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


        '------------------------'
        ' Paramétrage de la Form '
        '------------------------'

        Me.Name = "Mon Appli"
        Me.Text = "Mon Appli"
        Me.Size = New System.Drawing.Size(500, 400)
        Me.FormBorderStyle = Windows.Forms.FormBorderStyle.FixedToolWindow
        Me.ShowIcon = True

        '-------------------'
        ' On génère le menu '
        '-------------------'
        menu = New System.Windows.Forms.MenuStrip()
        Me.Controls.Add(Me.menu)

        '' modification faites ici ...
        Dim test = menu.Items.Add("Réseau", Nothing, New System.EventHandler(AddressOf NetworksMenu_OnClick)) 
        test.PerformClick()
        '' fin des modifications...

        Me.Controls.Add(Menu)

    End Sub

End Class


Module Menu

    Public Sub NetworksMenu_OnClick(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim cms_network As New ContextMenuStrip()

        cms_network.Items.Add("Firewall", Nothing, New System.EventHandler(AddressOf FireWall_onclick))
        cms_network.Items.Add("Outils Réseaux", Nothing, New System.EventHandler(AddressOf NetworkTools_onclick))

        Dim Tsi_Networks As ToolStripMenuItem = CType(sender, ToolStripMenuItem)


        Tsi_Networks.DropDown = cms_network


    End Sub
0
Rejoignez-nous