Menu dynamique par listview (déprime total)

Résolu
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012 - 6 déc. 2006 à 12:48
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012 - 7 déc. 2006 à 15:26
    Bonjour, voila 6 heures consécutive que je travail sur ce problème. Je n'arrive pas d'aucune facons à faire un menu a partir d'un fichier listview. Si j'arrivais seulement è faire un simple menu avec des sous items par programmation mon probleme serait réglé. Merci pour votre aide..... par pitié....

Private Sub OpenFile(ByVal sender As Object, ByVal e As EventArgs) Handles OpenToolStripMenuItem.Click, OpenToolStripButton.Click
        Dim OpenFileDialog As New OpenFileDialog
        OpenFileDialog.InitialDirectory = Application.StartupPath
        OpenFileDialog.Filter = "Fichiers TreeView (*.trv)|*.trv"
        If (OpenFileDialog.ShowDialog(Me) = System.Windows.Forms.DialogResult.OK) Then
            Dim FileName As String = OpenFileDialog.FileName

            ChargeTreeView(TreeViewProjet, Application.StartupPath & "\aaa.trv")

            For Each nodes As TreeNode In TreeViewProjet.Nodes

                Dim thisnode As ToolStripItem
                thisnode = ToolStripMenuItemTache.DropDownItems.Add(nodes.Text, imgImageList1.Images(0), AddressOf subCatchMenu)

                For Each subnodes As TreeNode In TreeViewProjet.Nodes(nodes.Text).Nodes
                    'Error    1    'DropDownItems' is not a member of 'System.Windows.Forms.ToolStripItem'.
                    thisnode.DropDownItems.Add(nodes.Text, imgImageList1.Images(0), AddressOf subCatchMenu)
                Next

            Next

            'AddHandler menuitem.Click, AddressOf xxx
            'ToolStripMenuItemTache.

        End If
    End Sub

8 réponses

Utilisateur anonyme
6 déc. 2006 à 16:06
Salut,

thisnode doit être un ToolStripMenuItem.
Le ToolStripMenuItem hérite du ToolStripItem, donc conversion possible.



__________
Kenji
3
Utilisateur anonyme
6 déc. 2006 à 20:50
Il faut toujours travailler avec Option Strict, la tu pourras plus utiliser le type Object directement.

La fonction Add te renvois un ToolStripItem que tu dois convertir en ToolStripMenuItem
Utilise un CType ou un TryCast pour faire la conversion.





__________
Kenji
3
cs_EBArtSoft Messages postés 4525 Date d'inscription dimanche 29 septembre 2002 Statut Modérateur Dernière intervention 22 avril 2019 9
6 déc. 2006 à 17:45
Declare le as object et puis basta ! lol

;-)

@+

E.B.
0
Utilisateur anonyme
6 déc. 2006 à 17:55
Ha ben non alors. La il va plus rien vouloir du tout.
Il faut que les objets soient typés correctement. C'est plus comme en vb6.
Si tu déclare en Object, il faudra faire un cast pour avoir accès à ces propriétés et méthodes.





__________
Kenji
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012
6 déc. 2006 à 20:07
[auteurdetail.aspx?ID=231472 Charles Racaud]


En fait on peu accesder au méthode sans cast meme si sé déclrer objet si on connais leur nom au part coeur, cependant on risque gros d'Avoir une erreur "Late bound résolution". Corigier moi si je me tromep bien sur.
0
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012
6 déc. 2006 à 20:09
Vue que j'y pense, je tient a préciser que je suis poru le typage corecte des variables...... objet est presque inaceptable sauf en cas ou une petite passe peut accelerer grandement la rapidité de certaine boucle ou condition par exemple....
0
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012
6 déc. 2006 à 20:13
E supposant la théorie de [auteurdetail.aspx?ID=231472 Charles Racaud]

Dim thisnode As ToolStripMenuItem
'Warning    1    Implicit conversion from 'System.Windows.Forms.ToolStripItem' to 'System.Windows.Forms.ToolStripMenuItem'. 

                thisnode = ToolStripMenuItemTache.DropDownItems.Add(nodes.Text, imgImageList1.Images(0), AddressOf subCatchMenu)

j'ai en orreur les conversion implicite....
0
XGuarden Messages postés 259 Date d'inscription dimanche 14 juillet 2002 Statut Membre Dernière intervention 17 août 2012
7 déc. 2006 à 15:26
TryCast? moi j'utilise directcast en général. Mais j'aurais bien aimé quil y ait de quoi de plus performant encore lolol , pas grave
0
Rejoignez-nous