OVH Cloud OVH Cloud

MenuStrip - Problème de sous menu

1 réponse
Avatar
Jonathan
Bonjour,
Je me trouve face à un petit problème très génant concernant le controle
MenuStrip du FrameWork 2.0 avec VB Express 2005

Je créé dynamiquement mes menus et des sous menu avec succès. Seulement les
clics des éléments étant en "Sous-menu" ne sont pas détectés avec la méthode
citée ci-dessous. Seulement les premiers éléments du menu "Fichier -
Edition - Affichage - Aide..." répondent. Idem si je les ajoute avec
"l'assistant / propriétés " de manière graphique dans le concepteur.


Private Sub BarreMenu_ItemClicked(ByVal sender As Object, ByVal e As
System.Windows.Forms.ToolStripItemClickedEventArgs) Handles
BarreMenu.ItemClicked
Select Case e.ClickedItem.Name
End Select
End Sub

Comment faire pour que cette procédure soit déclenchée avec les sous menus ?


Merci
@+
Jonathan

1 réponse

Avatar
Jonathan
Problème résolu, je donne la solution pour ceux qui ajoutent des menus
dynamiquement par code comme cela et donc qui ne peuvent/veulent pas passer
par 36 procédures déclenchées pour 36 sous menus :

//CREATION PERSO
Private Sub CreerSousMenu(ByVal unTexte As String, ByVal uneInfoBulle As
String, ByVal uneImage As String, ByVal unNom As String, ByVal unMenuItem As
System.Windows.Forms.ToolStripMenuItem)
Dim unSousMenu As System.Windows.Forms.ToolStripMenuItem
unSousMenu = New System.Windows.Forms.ToolStripMenuItem
unSousMenu.DisplayStyle = ToolStripItemDisplayStyle.ImageAndText
unSousMenu.Owner = BarreMenu
unSousMenu.Name = unNom
unSousMenu.Text = unTexte
unSousMenu.Image = ImgList.Images.Item(uneImage)
unSousMenu.Overflow = ToolStripItemOverflow.AsNeeded
unSousMenu.ToolTipText = uneInfoBulle
unMenuItem.DropDownItems.Add(unSousMenu)
AddHandler unMenuItem.DropDownItemClicked, AddressOf
CatchMenu_DropDownItemClicked
End Sub

Il faut attraper l'évenement comme ceci :

Public Event CatchMenu As ToolStripItemClickedEventHandler
Private Sub CatchMenu_DropDownItemClicked(ByVal sender As Object, ByVal e As
ToolStripItemClickedEventArgs)
Select Case e.ClickedItem.Name
//TRIER ICI LES PROCEDURES DECLENCHEES SELON LE SOUS MENU CLICKé
End Select
End Sub

Source :
http://windowssdk.msdn.microsoft.com/en-us/library/system.windows.forms.toolstripdropdownitem.aspx

Voilà :-)

@+
Jonathan