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

VB.NET Discussion :

List(Of Panel) et son utilisation


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 19
    Points
    19
    Par défaut List(Of Panel) et son utilisation
    Bonjour tout le monde

    Petite question, je sèche dessus depuis pas mal de temps

    J'ai créé une liste des panels que j'ai dans mon formulaire

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim lstPanelsPrestations As New List(Of Panel) From {pnlAccessibilite, pnlActivites}
    j'ai abrégé à 2

    et je voudrais, au lieu de pnlActivites, tapoter lstPanelsPrestations.item(2) pour ainsi automatiser certaines taches
    par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    lstPanelsPrestations.Item(3).Enabled = False
    Mais lorsque je fais ça, j'ai la belle erreur System.NullReferenceException*: 'La référence d'objet n'est pas définie à une instance d'un objet.'

    Que ne fais je donc pas bien ?

    Merci

  2. #2
    Membre averti Avatar de Delaney
    Homme Profil pro
    Developpeur VB amateur
    Inscrit en
    Mars 2014
    Messages
    148
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Developpeur VB amateur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2014
    Messages : 148
    Points : 372
    Points
    372
    Par défaut
    Salut,
    J'ai testé. Le principe fonctionne.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
            Dim list_panel As New List(Of Panel) From {Panel1, Panel2}
            list_panel.Item(1).Visible = True
            list_panel.Item(1).Enabled = True
     
        End Sub
    Où as tu mis ton dim et où fais tu tes appels ? c'est peut être un problème de déclaration de variable local qu'il ne retrouve pas .

    Dans ce cas place ta déclaration de list dans un module
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Module Module1
        Public list_panel As New List(Of Panel) From {Form1.Panel1, Form1.Panel2}
    End Module

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 19
    Points
    19
    Par défaut y'a de ça
    Salut Elthorn

    Ah, effectivement, en le plaçant dans le load, ça à l'air de fonctionner

    Je l'avais placé dans la déclaration des variables globales du formulaires et je l'appelais dans le load

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
        Dim lstPanelsPrestations As New List(Of Panel) From {pnlAccessibilite, pnlActivites, pnlConforts, pnlEncadrements, pnlEquipements, pnlServices}
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
     
            lstPanelsPrestations.Item(3).Enabled = False
    Mais en le plaçant comme ceci, je n'ai plus l'erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        Private Sub Form1_Load(sender As Object, e As EventArgs) Handles Me.Load
     
            Dim lstPanelsPrestations As New List(Of Panel) From {pnlAccessibilite, pnlActivites, pnlConforts, pnlEncadrements, pnlEquipements, pnlServices}
            lstPanelsPrestations.Item(3).Enabled = False
    J'vais creuser mais normalement, on est sur la bonne piste

    Merci bien

  4. #4
    Membre chevronné
    Avatar de Sehnsucht
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2008
    Messages
    847
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Lot et Garonne (Aquitaine)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2008
    Messages : 847
    Points : 2 209
    Points
    2 209
    Par défaut
    Si tu l'initialises lors de la déclaration c'est un peu comme si tu l'avais mis en début de constructeur.
    Par conséquent cela se fait avant l'appel à InitializeComponent qui défini les contrôles.
    Donc avant InitializeComponent comme c'était initialement tes «variables panel» ont Nothing pour valeur d'où la NullReferenceException.

    Petite note bonus pas spécialement indispensable, tu peux raccourcir uneListe.Item(index) en uneListe(index) directement
    Nous sommes tous plus ou moins geek : ce qui est inutile nous est parfaitement indispensable ( © Celira )
    À quelle heure dormez-vous ?
    Censément, quelqu'un de sensé est censé s'exprimer sensément.

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 22
    Points : 19
    Points
    19
    Par défaut Merki
    Merci bien Sehnsucht pour cet éclaircissement et pour la pitite astuce d'écriture, tout se prend...

    Bonne continuation à tous les 2

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

Discussions similaires

  1. Apache et son utilisation
    Par kagura dans le forum Apache
    Réponses: 9
    Dernier message: 21/06/2006, 16h38
  2. [PEAR][Services_Google] Erreur de syntaxe lors de son utilisation
    Par blueice dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 17/05/2006, 11h13
  3. [LDAP] Documentation sur son utilisation
    Par oligig dans le forum Bibliothèques et frameworks
    Réponses: 2
    Dernier message: 11/05/2006, 15h22
  4. [APACHE] Comprendre son utilisation
    Par sebeni dans le forum Apache
    Réponses: 1
    Dernier message: 03/04/2006, 14h24
  5. [VB][Excel]solverok son utilisation
    Par Math75 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 10/01/2006, 14h22

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