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 :

UserControl fils ne s'affiche pas !


Sujet :

VB.NET

  1. #1
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Points : 40
    Points
    40
    Par défaut UserControl fils ne s'affiche pas !
    Bonjour,

    J'ai voulu réaliser un userControl héritant d'un autre usercontrol abstrait.
    Et visual studio refuse d'afficher le fils alors que le père est correct et qu'il n'y a aucune erreur de compilation.

    Voici le message:
    Le concepteur doit créer une instance de type 'UserCtl_Combo' mais il ne peut pas, car le type est déclaré comme abstract.

    J'ai défini un premier userControl abstrait qui hérite de UserControl :
    Public MustInherit Class UserCtl_Combo : Inherits UserControl

    Il fonctionne très bien.

    Puis j'ai créé un descendant héritant du premier:
    Public Class UserCtl_PRDCombo : Inherits UserCtl_Combo

    C'est celui qui ne s'affiche pas !

    Je ne peux pas modifier les propriétés avec l'interface graphique de VisualStudio.

    Si quelqu'un sait pourquoi ?

    Le code fonctionne à l'exécution...


  2. #2
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Points : 40
    Points
    40
    Par défaut
    Bon ,

    Pour contourner le problème j'ai supprimé l'abstraction sur ma classe mère.

    Puis ai rendu ma méthode overridable à la place de mustOverride.

    L'interface graphique fonctionne à nouveau.

    Mais pourquoi ne peut-on pas contruire de usercontrol à partir d'une classe abstraite ?

    Puisque la classe mère ne doit pas être utilisée, la rendre abstraite serait une sécurité de plus.


    Si quelqu'un peut m'expliquer.


    Merci

  3. #3
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    Je pense que c'est lié au fait que le UserControl comme la Form sont des controls de haut niveau et donc directement affichable en Window. A priori, pour afficher, le designer doit "remonter" la hiérarchie jusqu'au dernier control de haut niveau qui sera celui utilisé pour créé la fenêtre. Pour ce faire, il doit instancier ce control ce qui n'est pas possible avec une class abstraite.

    Ca n'est finalement pas entiérement déconnant car le but est bien d'utiliser toute la partie de code "cachée" et qui permet l'affichage du UserControl dont tu hérites.

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  4. #4
    Membre du Club
    Inscrit en
    Mai 2008
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 45
    Points : 40
    Points
    40
    Par défaut
    Merci pour tes éléments de réponse.


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

Discussions similaires

  1. [AC-2000] champs fils ne s'affiche pas en mode saisie formulaire
    Par rankynette dans le forum IHM
    Réponses: 4
    Dernier message: 19/02/2010, 14h20
  2. QGraphicsItem fils qui ne s'affiche pas
    Par EntraX666 dans le forum Débuter
    Réponses: 2
    Dernier message: 07/03/2009, 03h51
  3. Le résultat de Print ne s'affiche pas...
    Par Red Bull dans le forum Langage
    Réponses: 9
    Dernier message: 15/06/2006, 18h56
  4. Les classes ne s'affichent pas
    Par karl3i dans le forum MFC
    Réponses: 8
    Dernier message: 26/01/2004, 14h52
  5. [MFC] Ces fenêtres qui ne s'affichent pas..
    Par Davide dans le forum MFC
    Réponses: 3
    Dernier message: 19/11/2003, 11h30

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