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 :

[c# ou VB.net] afficher une Form dans un Panel


Sujet :

Windows Forms

  1. #1
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut [c# ou VB.net] afficher une Form dans un Panel
    Bonjour,
    je suis entrain de créer une appli avec une interface similaire à Outlook2003. En cliquand à gauche pour activer l'un des paneau je voudrai afficher dans un Panel à droite l'interface qui correspond à une certaine fonctionnalité. J'ai développé mes fonctionnalité (chacune) dans des fenetre TFORM séparé. Je voudrai que quand l'utilisateur clique sur un bouton à gauche que l'une de mes fenetre s'affiche à l'intérieur du Panel à droite.
    Je suis issu du monde Delphi, dans Delphi il suffisait de créer une instance de sa fenetre et de mettre sa propriété PARENT := le TPanel. En virant les bordure de la fenetre ca marchait et l'utilisateur avait l'impression que seul le contenu du panel changeait, (il avait pas l'idée que c'été une fenetre encastrée dans un panel). Je voudrai faire pareil en .NET et la prop PARENT me retourne une erreur (type incompatible avec TForm).
    Avez vous une idée sur comment le faire (je voudrai éviter de créer des UserComponents).
    Merci

  2. #2
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    ta juste a mettre ta mainform en mdi et mettre lautre (child) docked fill.

    Ca sert a quoi d'avoir une form dans un panel ?

  3. #3
    Membre éprouvé
    Avatar de octal
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    441
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 441
    Points : 957
    Points
    957
    Par défaut
    Citation Envoyé par shwin
    ta juste a mettre ta mainform en mdi et mettre lautre (child) docked fill.

    ?
    Les forms en MDI posent un pb. le Focus est mal géré entre les composants appartenant à la form et ceux de la form principale (dans les autres composants ou panels).
    Citation Envoyé par shwin
    Ca sert a quoi d'avoir une form dans un panel ?
    L'interet est de pouvoir développer ses écrans dans des forms différentes et indépendantes, et de pouvoir les utiliser directement en les instanciant et les encastrant dans des écrans. Imaginez que vous développiez un soft avec un écran de configuration. pour la config vous pouvez développer chaque ecran de config (par ex: Connexion/Affichage/General/....) dans une fenetre séparée. Quand l'utilisateur demande l'option du menu Tools>>Personalisation il aura un ecran qui contiendra une sorte de TTabsheet avec un onglet pour chaque option. Dans chaque Tabsheet il suffira d'encastrer l'un de vos ecran. Quand l'utilisateur va sur l'écran des communication par exemple, il aura un bouton (OptionDeCommunication) qui lui affichera directement la fenetre CONNEXION (pas besoin d'afficher les autre ecrans)... de plus cette manière de faire vous permet de faire des écrans complètement indépendant qui pourront être réutilisé dans d'autre appli.
    Bref... actuellement je m'en sort en créant UserControl pour chaque contenu que je réutilise partout ... mais bref j'aurai aimé retrouvé la logique que j'avais sous Delphi. C'est peut être mieux ainsi ...
    bonne journée

  4. #4
    Membre éclairé
    Avatar de shwin
    Profil pro
    Inscrit en
    Novembre 2003
    Messages
    568
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2003
    Messages : 568
    Points : 777
    Points
    777
    Par défaut
    je crois que je comprend.

    Tu as une interface qui est pareil pour chaque form et tu veux utiliser cet interface dans un pannel pour pouvoir ensuite mettre des bouton dans les pannel. Comme ca les autre pannel ne possede pas les bouton que tu as mit pour un en particulier (bref un peu comme les tab).

    Si c'est bien cela, il existe de l'héritage dans les UserControl, cela va têtre utile.

    UserControlPrincipale
    |-UserControl2
    |-UserControl3

    Comme ca userControl2 et 3 possède la meme interface que UserControlPrincipale mais on peux les customiser indépendament

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut J'ai eu le même besoin et pas besoin d'utiliser les mdi
    D'abord, le lien où j'ai trouvé la solution :
    http://bytes.com/topic/visual-basic-...m-inside-panel

    Le code solution :
    \\
    Dim f As New Form2()
    f.TopLevel = False
    Me.Panel1.Controls.Add(f)
    f.Show()
    ///

    Je l'ai testé, ça fonctionne nickel

Discussions similaires

  1. [Lazarus] Afficher une form dans le panel d'une autre form
    Par jojo86 dans le forum Lazarus
    Réponses: 2
    Dernier message: 22/05/2012, 00h02
  2. [VS 2005/ C#]Afficher une form dans le panel d'un SplitterContain
    Par MoscoBlade dans le forum Windows Forms
    Réponses: 1
    Dernier message: 17/08/2006, 19h36
  3. [C#] Impossible d'afficher une form dans la barre des taches
    Par padodanle51 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 03/05/2006, 09h30
  4. [VB.Net] Afficher une form dans un SplitterPanel
    Par nico-pyright(c) dans le forum Windows Forms
    Réponses: 2
    Dernier message: 13/04/2006, 20h45
  5. [D2006] [VCL.NET] Afficher une page dans un Tform.
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 2
    Dernier message: 13/02/2006, 15h27

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