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#][IHM] tabControls ou MDIContainer ?


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 64
    Points : 48
    Points
    48
    Par défaut [C#][IHM] tabControls ou MDIContainer ?
    Bonjour à tous,

    Je suis en train de réaliser ma première appli 100% WinForms et C# et j'ai un léger problème pour réaliser mon IHM.
    En gros j'ai un menu à gauche façon Outlook et en cliquant sur les items de ce menu, je voudrai charger des écrans différents sur la partie droite de mon IHM.

    Pour l'instant je vois 2 solutions, les tabControls et les MDIContainer mais après quelques tests je rencontre quelques problèmes :
    - tabControl : en mode design, je n'arrive pas à créer 2 tabControl qui me prennent toute la partie droite de l'IHM, le designer me lie automatiquement le second tabControl à la tabPage1 du tabControl1 ... et quand j'essaie de délier ces deux tabControls pour mettre mon focus sur le tabControl2 cela ne fonctionne pas !
    Bref, j'ai du mal à superposer plusieurs tabControl et à switcher de l'un à l'autre lorsque l'on clique sur les boutons du menu !!

    - MDI Container : aucun problème pour créer des enfants et les lier mais je n'arrive pas à cloisoner le menu de gauche (qui se trouve dans le MDIParent) avec les interfaces (MDIChild), c'est à dire que les interfaces passent "en dessous" du menu alors que j'aurai aimé qu'elles restent collées au menu simplement.

    Merci d'avance pour votre aide.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    Et si tu mettais dans ta MainWindow qui est le mdiContainer un panel dans lequel se trouvera ton outil de selection ?

    Normalement, en faisant cela, les fenetres filles seront automatiquement mise dans la partie "vide" de ton MainForm et meme en etant maximimsé ne passeront pas au dessus

    Par contre, si tu déplaces tes fenetres filles, elles "passeront" dessous le panel et une scrollBar horizontal apparaitra

    Ca te convient ?

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    Sinon, avec un tabControl, que je mets dans ma MdiContainer avec mon Panel à gauche ou je mets 2 boutons, j'arrive à switcher en tabPanel de mon tabControl

    Ci joint, un petite exemple rapide

    The Monz, Toulouse
    Fichiers attachés Fichiers attachés
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  4. #4
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Moi je crois que je ferais comme ceci : un SplitPanel docké dans la zone de la fenête MDI parente.
    Dans la partie gauche du Split : le menu, dans la partie droite : une instance d'un UserControl que je peux supprimer ou rendre invisible en fonction du choix fait dans le menu de gauche.
    (\ _ /)
    (='.'=)
    (")-(")

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    Beh comme tu veux, mais si tu as regardé mon exemple en piece jointe,
    tu peux voir que le Tab Control fonctionne aussi....

    Ah si seulement on "pouvait" masquer le header de control

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  6. #6
    Membre expérimenté
    Avatar de FRED.G
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    1 032
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 032
    Points : 1 505
    Points
    1 505
    Par défaut
    Citation Envoyé par theMonz31
    tu peux voir que le Tab Control fonctionne aussi...
    Salut theMonz,
    J'ai posté mon idée en complément car il y a plusieurs façons de faire, mais la tienne était très valable ! C'est avant tout une question de goût je crois.
    (\ _ /)
    (='.'=)
    (")-(")

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Merci pour vos réponses, je vais essayer de tester ça cette aprem

  8. #8
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    oui c clair que c'est question de gout.. perso, je trouve dommage d'avoir l'affichage du tabControl surtout si on fait le basculement d'affichage via un menu dedié... donc, exit le tabControl...

    Apres, c'est juste par flemmardise... que je l'utiliserais peut-etre... histoire
    de ne pas avoir à faire un Hide ou Show des fenetres à voir ou à cacher

    Mais bon.. on pourrait aussi prévoir un TabControl qui au design possède un tabControl et qui en mode RunTime n'affiche pas les onglets de selection

    The Monz, Toulouse
    The Monz, Toulouse
    Expertise dans la logistique et le développement pour
    plateforme .Net (Windows, Windows CE, Android)

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Février 2004
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2004
    Messages : 64
    Points : 48
    Points
    48
    Par défaut
    Citation Envoyé par theMonz31
    Et si tu mettais dans ta MainWindow qui est le mdiContainer un panel dans lequel se trouvera ton outil de selection ?

    Normalement, en faisant cela, les fenetres filles seront automatiquement mise dans la partie "vide" de ton MainForm et meme en etant maximimsé ne passeront pas au dessus
    J'ai fais un rapide test en mettant mon menu dans un panel mais les child n'en font toujours qu'à leur tête !!

  10. #10
    Membre expérimenté Avatar de Mose
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    1 143
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 1 143
    Points : 1 379
    Points
    1 379
    Par défaut
    Citation Envoyé par theMonz31
    Mais bon.. on pourrait aussi prévoir un TabControl qui au design possède un tabControl et qui en mode RunTime n'affiche pas les onglets de selection
    Un TabControl sans onglets ?
    Je comprend pas.. ça sert à quoi ?
    Autant faire un ArrayList de Panel !

Discussions similaires

  1. [VB.NET] Cache l'onglet d'un TabControl
    Par Lois dans le forum Windows Forms
    Réponses: 14
    Dernier message: 27/10/2004, 09h55
  2. [SWT]mise a jour ihm SWT par un thread
    Par will82 dans le forum SWT/JFace
    Réponses: 1
    Dernier message: 06/08/2004, 11h37
  3. [IHM] Enchainement des écrans
    Par CanardJM dans le forum Composants VCL
    Réponses: 6
    Dernier message: 22/06/2004, 16h01
  4. [Kylix] Utilisation du TabControl
    Par arnolanf dans le forum EDI
    Réponses: 1
    Dernier message: 06/05/2004, 15h08
  5. [VB.NET] Couleurs des onglets d'un TabControl
    Par ineznia dans le forum Windows Forms
    Réponses: 6
    Dernier message: 09/04/2004, 13h18

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