IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

[VB.NET] accessibilité d'un objet dans un TAG


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut [VB.NET] accessibilité d'un objet dans un TAG
    la deuxième partie du code ci-après fonctionne correctement (retourne titi) par contre, la ligne "myTree.SelectedNode.Tag.getCliName" n'est pas correcte, la propriété getCliName n'est pas disponible au niveau de myTree.SelectedNode.Tag. Pourquoi ? le tag contient bien un objet de type client !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub myTree_AfterSelect(ByVal sender As System.Object, ByVal e As System.Windows.Forms.TreeViewEventArgs) Handles myTree.AfterSelect
            If TypeOf (myTree.SelectedNode.Tag) Is Client Then
                MsgBox(myTree.SelectedNode.Tag.getCliName)
            End If
     
            Dim myclit As New Client(999, "titi")
            MsgBox(myclit.getCliName)
        End Sub

  2. #2
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Salut,
    C'est normal, il faut que tu cast le tag en Client (je t'avais déjà montré comment faire dans mon post précédent )
    Donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    dim c as Client
    if typeof(myTree.SelectedNode.Tag) is Client Then 
     c = DirectCast(myTree.SelectedNode.Tag, Client)
     msgbox(c.GetCliName)
    End if
    @+

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    Bon ben t'es en vacances ou t'es pas en vacances ?

    Et oui, ça fonctionne, mais il faut dire que c'est pas très intuitif comme truc. Pourquoi, alors que If TypeOf vérifie bien que c'est un objet client devoir le caster vers un objet client ....

    Les mystères de l'orienté objet !

    Merci

  4. #4
    Membre éprouvé Avatar de graphicsxp
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    758
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : Luxembourg

    Informations forums :
    Inscription : Avril 2004
    Messages : 758
    Points : 1 022
    Points
    1 022
    Par défaut
    Car le Tag ne contient pas un Client à la base. Il contient une valeur de type Objet, c'est pourquoi tu peux y stocker a peu près tout ce que tu veux. En revanche il faut le caster quand tu veux accèder à son contenu car sinon la propriété renvoie un type Objet.
    Bon ben t'es en vacances ou t'es pas en vacances ?
    Heu je suis en vacances... mais je crois que j'ai un petit probleme de dépendance au site Bon allez je me déconnecte

    Bon sinon il ne suffit pas de rajouter [résolu] dans ton titre. Il faut cliquer sur le bouton en bas a gauche

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    876
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2005
    Messages : 876
    Points : 491
    Points
    491
    Par défaut
    merci pour le tuyau [résolu], on ne m'avait jamais fait la remarque. Je vais y remédier tout de suite

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [PHP 5]Accessibilité d'un objet dans une fonction
    Par DonMero dans le forum Langage
    Réponses: 2
    Dernier message: 23/06/2011, 14h39
  2. [VB.NET] Suppression d'objets dans une collection
    Par master56 dans le forum VB.NET
    Réponses: 7
    Dernier message: 03/06/2010, 21h46
  3. [vb.net]indexof d'un objet dans un arraylist
    Par Golzinne dans le forum Windows Forms
    Réponses: 7
    Dernier message: 19/10/2006, 21h09
  4. [vb.net]modifier un objet dans un arrayList
    Par Golzinne dans le forum Windows Forms
    Réponses: 4
    Dernier message: 17/10/2006, 13h23
  5. Réponses: 1
    Dernier message: 05/05/2006, 14h37

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo