Treeview et namespace

julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024 - 28 oct. 2019 à 17:39
Whismeril Messages postés 19144 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 8 septembre 2024 - 29 oct. 2019 à 13:57
Bonjour
Je bloque sur un truc qui me parait tellement simple mais tellement ... inaccessible.
ex:
J'ai un treeview avec deux noeuds A et B
Chaque noeud contient deux enfants :
noeud A contient enfant 1 et enfant 2
noeud B contient enfant 3 et enfant 4
et chaque enfant contient un namespace
enfant 1 contient le namespace a
enfant 2 contient le namespace b
enfant 3 contient le namespace c
enfant 4 contient le namespace d

Mon souci
j'aimerai afficher par msgbox le contenu d'un textbox situé dans le namespace d en cliquant sur un bouton situé dans le namespace a.
J’espère vraiment avoir pu être claire.
en résumé : comment "communiquer" entre namespace dans un treeview ?

Merci de votre aide

9 réponses

vb95 Messages postés 3508 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 2 septembre 2024 169
Modifié le 28 oct. 2019 à 18:49
Bonjour
Tu dis : "et chaque enfant contient un namespace "

Les espaces de noms appelés namespace constituent une façon d'organiser les différents types intervenant dans un programme VB Net.
On peut comparer les namespace à des "dossiers" : le comportement est identique à un dossier . Il est possible d’avoir des éléments de même nom dans différents namespace .
Tout le framework.net repose sur les espaces de noms, il permet surtout une bonne organisation et facilite la recherche des éléments.
Exemple :
- tout ce qui concerne les collections seront dans System.Collections .
- tout ce qui concerne les accès au disque se trouve dans System.IO.

Maintenant que contiennent réellement les enfants de tes nœuds ?
Car je n'ai jamais vu un Treeview qui contient des namespace : un TreeVieww affiche une collection hiérarchique d'éléments étiquetés, dont chacun est représenté par un objet TreeNode ( cet objet Treenode est appelé un nœud . )

Pour en savoir plus sur les Treeview : https://docs.microsoft.com/fr-fr/dotnet/api/system.windows.forms.treeview?view=netframework-4.8
Et ici aussi : https://plasserre.developpez.com/cours/vb-net/?page=ui-winforms3#LVIII-H-6

0
julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024
Modifié le 29 oct. 2019 à 15:58
Merci pour ta réponse
j'ai défini et instancié la classe
chrono

dans un bouton situé dans une autre form je fais appel a un sub
proteine
situé dans la classe
chrono
.

mais le sub
proteine
ne s’exécute pas. pas d'erreur mais rien qui se passe ..

Private Sub CALLE_Click(sender As Object, e As EventArgs) Handles CALLE.Click
            Dim cfb As chrono = New chrono 'définir et instancier
            cfb.proteine()
        End Sub


la class

Namespace Basic
Partial Public Class chrono

Public Sub proteine()
            textsonar.Text = "calories"
            CheckBox1.Checked = True
        End Sub
   
end class
End Namespace


merci du coup de pouce
0
vb95 Messages postés 3508 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 2 septembre 2024 169
Modifié le 29 oct. 2019 à 02:06
Bonjour
Tout d'abord pour présenter du code prière de suivre les instructions suivantes : https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code
Le code sera instancié et plus agréable à lire et comprendre .

Quel est ton niveau en VB Net ?

Tu appelles par un bouton dans une Form une Sub proteine qui se trouve dans la class chrono ( laquelle classe est une Form je pense )
Cela revient à lire la page 20 ( celle du bouton) d'un livre et vouloir lire aussi la page 50 ( celle de la classe ) par exemple .
Pour y voir clair
La classe chrono est-elle une Form ? je pense que oui vu les 2 contrôles qu'elle contient ..
La class chrono ne contient-elle que cela comme code ?
Si chrono n'est pas une Form dans quelle Form sont les 2 contrôles textsonar et checkBox1?
Que contient ton Treeview et à quoi sert le class chrono ?

Ps : tu peux supprimer les NameSpace si tu veux .

Ici un cours complet sur VB Net : https://plasserre.developpez.com/cours/vb-net/



0
Whismeril Messages postés 19144 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 8 septembre 2024 660
29 oct. 2019 à 09:37
Bonjour à tous les 2.

Je suppose que cette méthode est celle qui est abonnée au click de ton treeview
         Private Sub CALLE_Click(sender As Object, e As EventArgs) Handles CALLE.Click
            Dim cfb As chrono = New chrono 'définir et instancier
            cfb.proteine()
        End Sub

'comme le dit VB95 c'est quand même plus agréable à lire en couleurs


A l'instar de VB, je pars du principe que chrono est un formulaire.
Je suppose aussi que le reste du code de chrono est dans le NameSpace Basic, sinon ce code ne fera jamais parti de la classe chrono pour le compilateur.

Soit dit en passant, je ne voies aucun interêt à écrire une méthode dans un fichier à part.

Si microsoft le fait c'est pour protéger le code écrit par le designer quand tu places des contrôles sur le formulaire, "des bêtises" que tu pourrais y faire.

Revenons à
mais le sub proteine ne s’exécute pas. pas d'erreur mais rien qui se passe
.
Je pense qu'en fait c'est exécuté correctement, et que tu ne voies pas ce qui se passe.

Regardons en détails

         Private Sub CALLE_Click(sender As Object, e As EventArgs) Handles CALLE.Click
            Dim cfb As chrono = New chrono 'ici qui déclares un nouveau formulaire, tu ne fais pas appel à un formulaire du type chrono qui serait déjà instancié.

            cfb.proteine() 'là tu exécutes, la méthode protéine.

                       Public Sub proteine()
                                textsonar.Text = "calories" 'le textbox reçoit soin texte
                                CheckBox1.Checked = True 'le checkbox est coché
                      End Sub
            'et c'est finit.
            'mais à quel moment affiches tu le nouveau formulaire?

        End Sub





Pourrais tu nous expliquer ton besoin, parce que je pense que si tu as cru qu'écrire un bout de code dans un fichier à part avec un NameSpace serait une solution c'est que tu as un besoin particulier.

0

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

Posez votre question
julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024
29 oct. 2019 à 09:53
bonjour
merci de m'aider , j'ai un niveau tres basique en vbnet. mais j'apprends vite

Tu appelles par un bouton dans une Form une Sub proteine qui se trouve dans la class chrono ( laquelle classe est une Form je pense
oui c'est bien çà

Pour y voir clair
La classe chrono est-elle une Form ? je pense que oui vu les 2 contrôles qu'elle contient


oui absolument

La class chrono ne contient-elle que cela comme code ?

non il ya d'autres codes , mais j'ai juste reproduit un petit exemple pour vous aider à ..m'aider

Si chrono n'est pas une Form dans quelle Form sont les 2 contrôles textsonar et checkBox1?

chrono est bien une form

Que contient ton Treeview et à quoi sert le class chrono ?

le treeview contient plusieurs dossiers et je souhaiterais déclencher des sub et actions entre dossiers

cordialement
0
Whismeril Messages postés 19144 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 8 septembre 2024 660
29 oct. 2019 à 12:01
Ça répond aux questions de VB, mais pas au miennes.
Peut-être n’avais tu pas réactualisé la page avant de poster ton message.
0
vb95 Messages postés 3508 Date d'inscription samedi 11 janvier 2014 Statut Contributeur Dernière intervention 2 septembre 2024 169
Modifié le 29 oct. 2019 à 13:28
Bonjour à vous 2
J'en suis arrivé aux mêmes conclusions que Whismeril .
Quelques conseils pour julia Namor
- j'ai l'impression que tu mets la charrue avant les bœufs : potasses le cours que je t'ai indiqué pour en comprendre les bases et les assimiler .
- entraines toi à faire des minis projets afin de te faire la main
- ensuite tu pourras viser plus haut et faire des projets beaucoup plus conséquents .

tu dis : "le treeview contient plusieurs dossiers et je souhaiterais déclencher des sub et actions entre dossiers "
Ce ne serait pas un explorateur de fichiers que tu voudrais faire ?
Si c'est autre chose il faudrait que tu nous donnes plus de détails pour pouvoir t'aiguiller et comprendre exactement ton souci et te conseiller sur l'architecture de ton projet .

La sub proteine s’exécute bien mais vu que la Form qui la contient n'est pas à l'écran tu ne vois rien



0
julia Namor Messages postés 524 Date d'inscription jeudi 27 mars 2014 Statut Membre Dernière intervention 13 janvier 2024
29 oct. 2019 à 13:39
Merci les gars .
cette phrase
La sub proteine s’exécute bien mais vu que la Form qui la contient n'est pas à l'écran tu ne vois rien m'interesse beaucoup
et du coup je rebondis sur celle ci de vb95 mais à quel moment affiches tu le nouveau formulaire?
je pense qu'il y a une piste à explorer la dessus.
0
Whismeril Messages postés 19144 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 8 septembre 2024 660
29 oct. 2019 à 13:57
Même s'il y a une piste à creuser, à savoir afficher le formulaire, j'ai le sentiment que ça n'est pas vraiment ce qu'il te faut par rapport au besoin réel.

Veux tu expliquer ce besoin parce que
je souhaiterais déclencher des sub et actions entre dossiers
n'est pas franchement explicite.
Tu peux commencer par dire ce qu'est un dossier pour toi.
En français je ne voies pas bien le lien entre chrono (chronomètre? ) et protéine.
Pourtant, je suis persuadé que tu n'as pas appelé ces objets comme cela par hasard.


0
Rejoignez-nous