Obtenir le texte d'un ToolStripMenuItem créé dynamiquement [Résolu]

podolis 73 Messages postés mardi 18 mars 2008Date d'inscription 19 décembre 2010 Dernière intervention - 16 juin 2010 à 18:11 - Dernière réponse : podolis 73 Messages postés mardi 18 mars 2008Date d'inscription 19 décembre 2010 Dernière intervention
- 16 juin 2010 à 19:59
Bonjour,

Je m'explique, j'ai un contexmenustrip et j'ajoute dynamiquement des toolstripmenu à celui-ci. J'aimerais pouvoir récupérer les données de ces toolstrips.
Pour être plus clair, je vous décris la fonction. J'ai une datagridview et j'ai besoin de changer le contenu d'une cellule à partir des items d'un contextmenustrip.
Par exemple, en cliquant droit, j'ouvre mon contextmenu strip, je choisie le toolmenustrip "Envoyé" et je veux que ce texte se place dans ma cellule.

Private Sub ContextMenuStrip3_ItemClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.ToolStripItemClickedEventArgs) Handles ContextMenuStrip3.ItemClicked
CType(sender, ToolStripMenuItem).Text --- Ne fonctionne pas car toolstripmenuitem n'est pas un membre de contextmenustrip3
End Sub

Je sais faire toutes la partie envoie et remplacement des données mais je n'arrive pas à récupérer le texte du toolstrip cliqué.

Merci de votre attention.

Médéric
Ergonome IHM
Interaction Homme Machine
HTML clipboard<![CDATA[
h1{ border: thin #FFFFFF; color: #339933; text-align: center;}h2{text-align: center; color: #000080}h3{text-align: center; color: #FF0000
Afficher la suite 

4 réponses

Répondre au sujet
Utilisateur anonyme - 16 juin 2010 à 18:28
+3
Utile
bonsoir,
Il faut rajouter un Handler a ton MenuItem
        Dim tool As ToolStripMenuItem = New ToolStripMenuItem
        AddHandler tool.Click, AddressOf ToolClicked
        ContextMenuStrip1.Items.Add(tool)


puis la sub qui est appelée

    Private Sub ToolClicked(ByVal sender As Object, ByVal e As System.EventArgs)
'ton code qui réagit au clic
    End Sub

bonne soirée.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
Utilisateur anonyme - 16 juin 2010 à 19:12
+3
Utile
ah oui et pour récuperer le texte en question
Private Sub ToolClicked(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim tool As ToolStripMenuItem = DirectCast(sender, ToolStripMenuItem)
    Dim montexte As String = tool.Text
End Sub

pardon pour cet oubli.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de Utilisateur anonyme
podolis 73 Messages postés mardi 18 mars 2008Date d'inscription 19 décembre 2010 Dernière intervention - 16 juin 2010 à 19:56
0
Utile
Merci pour ta réponse je viens de tester ton code dans mon application.
 
     For index = 0 To (ComboBox1.Items.Count - 1)
            'ContextMenuStrip3.Items.Add(ComboBox1.Items.Item(index))
            tool.Text = ComboBox1.Items.Item(index)
            AddHandler tool.Click, AddressOf ToolClicked
            ContextMenuStrip3.Items.Add(tool)
        Next

Mon probleme est que je ne retrouve pas mes items dans mon tool, je n'arrive pas a affecter une valeur à tool.


Médéric
Ergonome IHM
Interaction Homme Machine
HTML clipboard<![CDATA[
h1{ border: thin #FFFFFF; color: #339933; text-align: center;}h2{text-align: center; color: #000080}h3{text-align: center; color: #FF0000
Commenter la réponse de podolis
podolis 73 Messages postés mardi 18 mars 2008Date d'inscription 19 décembre 2010 Dernière intervention - 16 juin 2010 à 19:59
0
Utile
Désolé je viens de me rendre compte de mon erreur, je devais placer
Dim tool As ToolStripMenuItem = New ToolStripMenuItem dans mon sub et pas dans le corps du programme. Cela fonctionne maintenant.
Merci à toi.


Médéric
Ergonome IHM
Interaction Homme Machine
HTML clipboard<![CDATA[
h1{ border: thin #FFFFFF; color: #339933; text-align: center;}h2{text-align: center; color: #000080}h3{text-align: center; color: #FF0000
Commenter la réponse de podolis

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.