Select Case pour menu strip

Résolu
Signaler
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
-
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
-
j'aimerais savoir comment utiliser la fonciton select case avec un MenuStrip

Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
        Select Case MenuStrip1
            Case ISSToolStripMenuItem.Selected
                PictureBox1.Image = Global.WindowsApplication1.My.Resources.DefCamECafe
        End Select
    End Sub

voila se que j'ai essayé de faire mais sa marche pas
Merci de m'indiquer si j'oubli quelque chose
Médéric
Ergonome Logiel
(VB.NET-Débutant)

9 réponses

Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
58
Salut,
Que souhaites tu faire exactement?

Pourquoi souhaites tu utliser Select Case?

@+: Ju£i?n
Pensez: Réponse acceptée
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
regarde le contenu de e
pour pouvoir identifier l'element cliqué
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
le texte affiché lors du survol de l'élement par le curseur de la souris
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
Le menuStrip ne s'occupe que des elements de premier niveau.... pour les sous-niveaux, joues avec le gestionnaire d'evenement de chaque element enfant
Messages postés
17288
Date d'inscription
mercredi 2 janvier 2002
Statut
Modérateur
Dernière intervention
27 septembre 2021
71
tu peux abonner tous tes elements au même evenement Click

Private Sub ItemClicked(ByVal sender As Object, ByVal e As System.EventArgs)
Me.Text = CType(sender, ToolStripItem).Text
End Sub

le tout étant juste de pouvoir parcourir dynamiquement la liste des menu et sous-menus.
je t'ai codé ca... ca fonctionne.

Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
For Each oItem As ToolStripMenuItem In MenuStrip1.Items
AddHandlerToMenuItems(oItem.DropDownItems)
Next
End Sub

Private Sub AddHandlerToMenuItems(ByRef voItems As ToolStripItemCollection)
For Each oItem As ToolStripItem In voItems
If TypeOf oItem Is ToolStripMenuItem Then
AddHandler oItem.Click, AddressOf ItemClicked
AddHandlerToMenuItems(CType(oItem, ToolStripMenuItem).DropDownItems)
End If
Next oItem
End Sub
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
1
je voudrais changer l'image dans une picture box et je préfère utiliser select case car sa me demande moins de manipulation
(j'ai environ 40 items dans mon menu)
J'ai du mal a comprendre l'architecture du menu strip
Quand je lui demande de m'afficher Text de l'item selectionner dans un label, il m'affiche uniquement ceux de menu, j'arrive pas a obtenir le text des sous menus
Private Sub MenuStrip1_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles MenuStrip1.ItemClicked
                Label1.Text = e.ClickedItem.Text
                Label2.Text = e.ClickedItem.ToolTipText
    End Sub
Label1.Text = e.ClickedItem.Text
j'ai essayé avec tooltiptext mais il affiche rien donc je sais pas a quoi renvoi ToolTipText
Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
1
OK je comprend a quoi sert tooltiptext maintenant
Mon problème s'est que je sais tjs pas comment renvoyé de text de mes sous menus

Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
1
SI je comprend bien il vas faloir que me tape mais 40 menu comme si dessous
Private Sub BATIMENTSCIENCEAToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BATIMENTSCIENCEAToolStripMenuItem.Click
    'Ouvrir une image
End Sub
Private Sub NIVEAU2ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NIVEAU2ToolStripMenuItem.Click
    'Ouvrir une image
End Sub
Private Sub NIVEAU1ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NIVEAU1ToolStripMenuItem.Click
    'Ouvrir une image
End Sub
Sinon, serait il possible de renvoyer les sous menu d'un élément du menu principale (je m'explique)
Par exemple j'ai un menu avec : Plan de masse
                                          ensuite : BATIMENT A
                                                       BATIMENT B
                                                       BATIMENT C (en sous menu de plan de masse)
Et avec une fonction de ce genre ? --->
 Private Sub PlandemasseToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PlandemasseToolStripMenuItem.Click
        Select Case "je c pas ce qu'il faut mettre"
            Case BATIMENTAToolStripMenuItem.Selected
                PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.DefCamECafe
            Case BATIMENTBToolStripMenuItem.Selected
                PictureBox1.Image = Global.WindowsApplication1.My.Resources.Resources.DefCamEIss
        End Select
    End Sub
Merci pour votre aide et particulièrement a Renfield

Médéric
Ergonome Logiel
(VB.NET-Débutant)
Messages postés
71
Date d'inscription
mardi 18 mars 2008
Statut
Membre
Dernière intervention
19 décembre 2010
1
Merci sa marche nikel
Un truc de plus d'appris peut être qu'un jour je programmerai de mes propre ailes

Médéric
Ergonome Logiel
(VB.NET-Débutant)