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 :

[Débutant]Appeler un UserControl dans une Form


Sujet :

Windows Forms

  1. #1
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2009
    Messages : 122
    Points : 167
    Points
    167
    Par défaut [Débutant]Appeler un UserControl dans une Form
    Bonsoir,

    Voila je suis sur un projet développé sous VS2008 et j’ai un petit souci de design, si je peux dire ainsi. (C’est mon premier projet en .NET, j’espère donc que la question ne paraitra pas trop bête. ^^)

    Voila au lieu d’avoir une seule form immense ou plusieurs form qui vont s’ouvrir et se fermer de façon successive, j’aimerai employer une seule form mais découpée. (comprendre que le contenu de toute les forms qui s’ouvraient et se fermaient avant s’ouvre dans la form de base.)

    Pour cela j’ai vu qu’on peut utiliser le « UserControl ». J’ai donc essayé de m’en servir, je place le premier UserControl dans ma form (qui contient un bouton suivant), en cliquant sur le bouton, le premier UserControl se ferme mais je ne sais pas comment ouvrir le second…

    Si quelqu’un avait une idée sur la question, cela m’arrangerai.

    Je vous remercie d’avance.

  2. #2
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim u as new usercontrol2
    u.left =
    u.top = 
    me.controls.Add(u)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2009
    Messages : 122
    Points : 167
    Points
    167
    Par défaut
    Merci beaucoup, ça fonctionne à merveille. C'est exactement ce que je cherchais.

    Petite question supplémentaire, suis-je obligé de créer pour chaque UserControl 1 variable ou puis-je faire directement ? :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Me.Controls.Add(UserControl2)

  4. #4
    Expert éminent sénior Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 154
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 154
    Points : 25 072
    Points
    25 072
    Par défaut
    ne pas confondre un type et une instance

    me.controls.add demande une instance de usercontrol, pas juste sa description


    une classe est une "description" de fonctionnement, il est ensuite possible de créer des instances sur ce type avec le mot clé new


    par contre il reste possible de le faire en une ligne

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Me.Controls.Add(New UserControl2)
    mais après tu perds la référence dessus
    la référence c'est une variable qui te permet de remanipuler l'instance plus tard
    et à mon avis tu risques d'en avoir besoin, genre si tu fais suivant et que tu veux rendre invisible le usercontrol
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    Membre habitué
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2009
    Messages : 122
    Points : 167
    Points
    167
    Par défaut
    En effet dans ce cas créer une variable semble inévitable.

    Je te remercie pour toutes ces informations, elles me seront bien utiles.

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

Discussions similaires

  1. débutant : appel de fonction dans une fonction
    Par promeneur2 dans le forum Général Python
    Réponses: 6
    Dernier message: 10/12/2010, 14h26
  2. [débutant] appel de fonction dans une fonction
    Par CompuTux dans le forum C#
    Réponses: 2
    Dernier message: 24/02/2010, 07h34
  3. Déterminer la position d'un UserControl dans une Form
    Par Delphi-ne dans le forum VB 6 et antérieur
    Réponses: 13
    Dernier message: 25/11/2007, 13h59
  4. [C#][Débutant] Comment gerer des datas dans une form
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 4
    Dernier message: 30/04/2006, 00h10
  5. [débutant] appeler plusieurs methodes dans une page html
    Par soulhouf dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 24/08/2005, 19h20

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