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

C# Discussion :

Passer de la Forms1 à un UserControl


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Par défaut Passer de la Forms1 à un UserControl
    Bonsoir,

    J'ai actuellement le problème suivant:

    Je suis étudiant et je doit faire une application C#. J'ai créer ma première page Form1 puis plusieurs UserControl ensuite. Je souhaiterais que de ma Forms1, je puisse afficher une page UserControls. Mes amis qui font la même chose dans ma classe ont glisser leur page UC sur la Form1 puis utilisé "UserControl1.BringToFront" puis cela fonctionne niquel aucun problème sur eux. Par contre moi j'ai fait la même chose qu'eux et erreur c'est pas reconnu et un message me disant qu'une référence est manquante. Ce que je ne comprend pas c'est que eux n'ont pas de références de plus que moi, nous avons tout comparé puis j'ai réinstallé la même version de Visual qu'eux (version 2019) et rien a faire, ça ne fonctionne toujours pas ! J'ai chercher sur YouTube plusieurs façon de parvenir a faire la même action mais rien de concluant. J'ai aussi demander à mes profs et impossible de me répondre et de trouver une solution. Je fait donc appel à vous en espérant que quelqu'un a déjà pu résoudre ce problème.

    Merci d'avance pour votre aide.

    Bonne soirée.

  2. #2
    Membre éclairé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2012
    Messages
    50
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2012
    Messages : 50
    Par défaut
    Quand tu dis que tu "glisses", c'est depuis la toolbox ? Si c'est le cas effectivement cela devrait s'afficher directement dans le designer... (BringToFront n'est pas utile dans ce cas)

    Tu peux essayer aussi d'ajouter un panel sur ta Form1 et ajouter ton UC dans ton panel..

    Dans les deux cas si ca ne fonctionne pas par designer essaie de le faire dans le code behind, la ya pas de raison que ça fonctionne pas.

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

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    si le but est de faire une appli multipage au sein d'une fenêtre via des usercontrols, les mettre tous et ne faire apparaitre que celui qu'on veut à un instant T fonctionne, mais ce n'est pas la meilleure méthode
    le mieux est de les ajoutes dans la fenetre à l'exécution via

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    var uc = new ucMachin();
    this.controls.add(uc);
    mais cela amènera d'autres questions ^^

    concernant le message ca ne serait pas plutot "la référence n'est pas définie à une instance d'objet" ?
    à savoir que quand on glisse un usercontrol dans un form dans visual studio, une partie du code de celui ci (ton code si c'est toi qui a fait le uc) est exécuté
    et ceci au moins parce que visual studio fait un new tonUC() donc si dans le new tu as un bug, c'est la fenetre de design dans vs qui affiche le bug
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Février 2020
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Marne (Champagne Ardenne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2020
    Messages : 3
    Par défaut
    Bonjour, désolé de cette réponse tardive...

    Je vais réexpliquer mon problème avec la capture d'écran.

    Nom : forum.png
Affichages : 267
Taille : 11,8 Ko

    Alors voila, j'ai un menu comme ci-dessus (C'est un UserControl) puis j'ai plusieurs autres UserControl avec la même chose mais avec le contenu de chaque rubrique en plus au milieu ou c'est blanc.

    Mon but étant de pouvoir lier les UserControl pour pouvoir naviguer a travers mon menu etc. Sauf que pour cela je ne connais que la méthode BringToFront, mais celle-ci n'est pas reconnu par mon VisualStudio, pourtant je ne trouve pas de référence pour ça et ne trouve pas de solution.

    Merci beaucoup.

    Bonne fin de journée.
    Images attachées Images attachées  

  5. #5
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Ce que tu fais ressemble quand même beaucoup à un TabControl (panneau à onglets), si ce n'est que les onglets sont sur le côté au lieu d'être sur le dessus ; ceci-dit en regardant vite fait je n'ai pas vu s'il y avait une propriété permettant de modifier l'agencement. Par contre, au lieu d'utiliser BringToFront tu ferais mieux de masquer (Visible = false;) tes UserControl, à l'exception de celui qui est actif.

  6. #6
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2018
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 88
    Par défaut
    Bonjour,

    Tu pourrais éventuellement utiliser le "PANEL"

    Le menu de gauche tu fais un panel et tu glisses ton User Control dedans. Et pour la partie blanche tu fais un autre panel et tu met tous tes Users Controls les uns sur les autres.
    Tu les appels ensuite via les boutons de gauche avec la commande BringToFront.

    Courage

Discussions similaires

  1. Comment passer un paramétre à un Usercontrol à l'interieur de Gridview
    Par darkmoon25 dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 11/10/2011, 13h10
  2. Réponses: 0
    Dernier message: 29/07/2009, 16h39
  3. Réponses: 1
    Dernier message: 21/05/2008, 10h23
  4. [WebForms]Comment passer des paramètres à un UserControl ?
    Par cmoiscrat dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 03/08/2006, 15h03
  5. Passer en mode 800*600
    Par flavien tetart dans le forum Assembleur
    Réponses: 8
    Dernier message: 30/05/2002, 23h05

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