MenuStrip dynamique?? [Résolu]

Messages postés
33
Date d'inscription
mercredi 3 août 2011
Dernière intervention
11 avril 2015
- - Dernière réponse : noeilnoeil
Messages postés
1
Date d'inscription
lundi 3 octobre 2011
Dernière intervention
5 juillet 2012
- 5 juil. 2012 à 14:30
Bonjour à tous :p

mon problème est ceci:
j'arrive à faire importer le menuStrip de facon dynamique c'est a dire directement d'une base mysql mais le probleme est que je voudrais avoir un evenement pour chaque clik sur un sous menu
voici mon code
***********************************************************************************
For i = 0 To dtable.Rows.Count - 1
MS_item = gestion_form.MenuStrip1.Items.Add(dtable.Rows(i).Item(0))


For j = 0 To RSousMenu(i).Rows.Count - 1
MS_subitem=MS_item.DropDownItems.Add(RSousMenu(i).Rows(j).Item(0))
'ici je voudrais appel les procedures de manipulation de chaque 'menu comment ca??

Next
Next
*********************************************************************************
merciiiiiiiiiiiiiiiiiiiii
Afficher la suite 

Votre réponse

7 réponses

Meilleure réponse
3
Merci
Bon voici comment on met en place un gestionnaire d'événement.
Ici, pour cet exemple, on se contente de récupérer le texte du ToolStripmenuItem, mais tu peux, grâce à son tag (qui est de type Objet) y mettre n'importe quoi (la classe de ton formulaire à remplir par exemple)
J'ai volontairement décomposé le code que tu pourras condenser dans une boucle lorsque tu aura compris :
Public Class Form1
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        'création d'un nouveau menustrip
        Dim menustrip1 As New MenuStrip

        '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 = New frmOuvrir
        'abonnement à l'événement click
        AddHandler itemOuvrir.Click, AddressOf item_Click
        menuitem.DropDownItems.Add(itemOuvrir)

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

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

        'ajout du menustrip au formulaire
        Me.Controls.Add(menustrip1)
    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)
    End Sub
End Class

Bonne soirée.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 104 internautes ce mois-ci

Commenter la réponse de Utilisateur anonyme
0
Merci
Salut,

Tu dois t'abonner aux événements de RsousMenu(i).Rows(j).Item(0) avec addhandler
AddHandler RSousMenu(i).Rows(j).Item(0).Click, AddressOf MaSub


Et écrire ta sub appelée (remplace mes ... par le type d'élément de ton sous-menu que tu n'as pas mentionné) :
Private Sub Masub(ByVal sender As Object, ByVal e As EventArgs)
    dim monsubitem as ... = DirectCast(sender, ...)
end sub
Commenter la réponse de Utilisateur anonyme
Messages postés
33
Date d'inscription
mercredi 3 août 2011
Dernière intervention
11 avril 2015
0
Merci
Merci pour votre attention !!
voila,mon exemple de traitement pour mieux me comprendre
on suppose que RSousMenu(i).Rows(j).Item(0) me donne le menu nouveau client
donc il faute quand je Click sur ce dernier m'affiche un formulaire a remplir
merci une autre fois :)
Commenter la réponse de Usernet007
0
Merci
Essaie de reformuler ta question je ne comprend rien
Bonne soirée.
Commenter la réponse de Utilisateur anonyme
Messages postés
33
Date d'inscription
mercredi 3 août 2011
Dernière intervention
11 avril 2015
0
Merci
j'ai crée MenuStrip a partir de BDD et je voudrais dans la boucle "for" affecter a chaque item un EventHandle
Commenter la réponse de Usernet007
Messages postés
33
Date d'inscription
mercredi 3 août 2011
Dernière intervention
11 avril 2015
0
Merci
Merci banana32 c'est génial!! superbe :)
Commenter la réponse de Usernet007
Messages postés
1
Date d'inscription
lundi 3 octobre 2011
Dernière intervention
5 juillet 2012
0
Merci
merci mec ça m'a bien aidé
Commenter la réponse de noeilnoeil

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.