Remplir un MenuStrip dynamiquement

Résolu
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 - 4 déc. 2016 à 22:03
Whismeril Messages postés 18939 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 22 février 2024 - 15 avril 2018 à 12:41
Bonsoir,
J'ai un MenuStrip est je veux le remplir dynamiquement (Créer des items (ToolStripMenuItem))
je n'ai pas trouvé sur le net ce que je veux et j'avais la méthode pour créer et remplir un TabControl dynamiquement, ce n'été pas difficile d'utiliser cette méthode pour le MenuStrip, voici le code :
   Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim TypesToolStripMenuItem As New ToolStripMenuItem()
TypesToolStripMenuItem.Name = "Type1"
TypesToolStripMenuItem.Text = "Type 1"
TypesToolStripMenuItem.Font = New Font("Georgia", 12)
MenuStrip1.Items.Add(TypesToolStripMenuItem)
AddHandler TypesToolStripMenuItem.Click, AddressOf TypesToolStripMenuItem_Click
End Sub
Private Sub TypesToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

End Sub

j'arrive a créer un ToolStripMenuItem et lui attribuer une action qui va être exécuté si je clique sur lui
mais si je veux créer plusieurs (le nombre n'est pas définie), comment attribuer des actions à chaque item ?
merci pour vos réponses futures et bonne soirée
A voir également:

8 réponses

cs_Le Pivert Messages postés 7902 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 novembre 2023 137
4 déc. 2016 à 22:26
Bonjour,

Voici un exemple avec 1 button:

Public Class Form1
    Dim monmenu As New MenuStrip

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

        'ajout d'un élément
        Dim menuitem As New ToolStripMenuItem
        menuitem.Text = "Fichier"

        'ajout d'un sous-élément
        Dim itemOuvrir As New ToolStripMenuItem
        itemOuvrir.Text = "Ouvrir"
        itemOuvrir.Tag = "0"
        'abonnement à l'événement click
        AddHandler itemOuvrir.Click, AddressOf item_Click
        menuitem.DropDownItems.Add(itemOuvrir)

        'ajout d'un sous-élément
        Dim itemEnregistrer As New ToolStripMenuItem
        itemEnregistrer.Text = "Enregistrer"
        itemEnregistrer.Tag = "1"
        'abonnement à l'événement click
        AddHandler itemEnregistrer.Click, AddressOf item_Click
        menuitem.DropDownItems.Add(itemEnregistrer)

        'ajout d'un autre sous-élément
        Dim itemQuitter As New ToolStripMenuItem
        itemQuitter.Text = "Quitter"
        itemQuitter.Tag = "2"
        'abonnement à l'événement click
        AddHandler itemQuitter.Click, AddressOf item_Click
        menuitem.DropDownItems.Add(itemQuitter)

        'ajout de l'élément au menustrip
        monmenu.Items.Add(menuitem)

        'ajout du menustrip au formulaire
        Me.Controls.Add(monmenu)
    End Sub
    Private Sub item_Click(ByVal sender As Object, ByVal e As EventArgs)
        Dim monitem As ToolStripItem = DirectCast(sender, ToolStripItem)
        MessageBox.Show(monitem.Text)
        CType(monmenu.Items(0), ToolStripMenuItem).DropDownItems(1).AllowDrop = True
    End Sub

    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Dim c As ToolStripMenuItem
        c = CType(CType(monmenu.Items(0), ToolStripMenuItem).DropDownItems.Add("Nouveau menu"), ToolStripMenuItem)
        c.Name = "Nouveau menu"
        For lcoount As Integer = 1 To 2
            Dim innerItem As New ToolStripMenuItem()
            innerItem.Text = "Monmenu" & lcoount
            innerItem.Name = lcoount.ToString
            'abonnement à l'événement click
            AddHandler innerItem.Click, AddressOf item_Click
            c.DropDownItems.Add(innerItem)
        Next
        ' CType(monmenu.Items(0), ToolStripMenuItem).DropDownItems(1).Visible = False
    End Sub
End Class


a toi de l'adapter suivant tes besoins
1
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2
4 déc. 2016 à 22:55
Bonsoir cs_Le Pivert,
Merci c'est ce que je voulais et en plus c'est très bien expliqué, sérieux tu m'enlève une épine du pied.
si je veux qu'il affiche le contenue d'une ListBox par exemple (je précise que le nombre des items de la ListBox est le même que celui du Menustrip
et aussi je veux par exemple si je supprimer un item de la ListBox le ToolStripMenuItem lié a ce item (item de la ListBox ) sera aussi supprimer
0
cs_Le Pivert Messages postés 7902 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 novembre 2023 137 > Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018
5 déc. 2016 à 08:48
0
Karin.code Messages postés 183 Date d'inscription vendredi 2 septembre 2016 Statut Membre Dernière intervention 16 janvier 2018 2 > cs_Le Pivert Messages postés 7902 Date d'inscription jeudi 13 septembre 2007 Statut Contributeur Dernière intervention 14 novembre 2023
5 déc. 2016 à 10:01
Salut cs_Le Pivert
Merci
je vais jeter un œil au lien que tu m'a donné merci
0
Rejoignez-nous