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# 2.0]Panel ou UserControl pour afficher != pages sur form


Sujet :

Windows Forms

  1. #1
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut [C# 2.0]Panel ou UserControl pour afficher != pages sur form
    Bonsoir,

    J'ai une question assez basique je pense, cependant je ne trouve aucune réponse concrète sur le net.

    J'ai une form, et je voudrais afficher différentes "pages". En fait je souhaiterait un tabControl sans tab...

    Evidement je peux utiliser des panels, mais je trouve que superposer des panels (tous docké) n'est vraiment pas pratique dans le designer si je veux passer d'un à l'autre.

    Je me dits alors que je vais utiliser 1 usercontrol par page. Je commence et vient le problème...comment passer d'1 usercontrol à l'autre? En effet si je me trouve dans le UserControl1, je ne peux pas revenir dans la Form parente pour retirer UserControl1 et ajouter UserControl2.

    Enfin bref je tourne en rond...

  2. #2
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut
    Personne ne veut dévoiler sa façon de gérer plusieures "pages" sur une meme form?

  3. #3
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    Si moi je veux bien.

    En fait pour faire un TabControl sans Tab, c'est deux lignes de code. Simplement il faut que je retrouve le source dans lequel il y avait cet exemple. Car de tete je ne me souviens plus.
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  4. #4
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut
    Ha ca m'interesse car dans le designer on sait facilement passer d'une page à l'autre.

  5. #5
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    J'ai eu le meme soucis que toi, donc j'ai fait un TabControl (avec onglet) et j'en suis très content. Néanmoins j'ai chopé ce fameux code source (qui supprime les onglets en mode exécution, mais les laisse en mode design), et je n'arrive pas à mettre la main dessus. Je pense que je dois l'avoir at home, donc patiente jusqu'à ce soir.
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  6. #6
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    Ah ben non en fait, tu as de la chance :
    http://www.developpez.net/forums/vie...ntrol&start=15
    Enjoy !
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  7. #7
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut
    Merci je viens de tester, j'ai créé un class lbrary avec le composant puis je l'ai ajouté à la liste des composant dans VS 2005. Jusque là aucun problème, pas un message d'erreur.

    Le seul problème c est que les tab sont affichés . Au départ c'était prévu pour vs2003, même s'il n'y a pas d'erreur lors du Build, il doit y avoir une différence entre vs 2003 et 2005.

    Je vous colle le code source de ce composant;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    using System;
    using System.ComponentModel;
    using System.Collections;
    using System.Drawing;
    using System.Windows.Forms;
     
    namespace winappTabControl
    {
    	/// <summary>
    	/// Summary description for SimpleTabControl.
    	/// </summary>
    	public class SimpleTabControl : TabControl 
    	{
    		private bool simpleMode = false;
    		[DefaultValue(false)]
    		public bool SimpleMode 
    		{
    			get { return simpleMode; }
    			set 
    			{ 
    				simpleMode = value; 
    				RecreateHandle();
    			}
    		}
    		private bool simpleModeInDesign = false;
    		[DefaultValue(false)]
    		public bool SimpleModeInDesign 
    		{
    			get { return simpleModeInDesign; }
    			set 
    			{
    				simpleModeInDesign = value; 
    				RecreateHandle();
    			}
    		}
    		public override Rectangle DisplayRectangle
    		{
    			get
    			{
    				if ((simpleMode == true) && (!DesignMode || simpleModeInDesign))
    				{
    					return new Rectangle(0, 0, Width, Height);
    				}
    				else
    					return base.DisplayRectangle;
    			}
    		}
    	}
    }
    Et le problème doit certainement venir d'ici;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if ((simpleMode == true) && (!DesignMode || simpleModeInDesign))

  8. #8
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    par défaut, la valeur de SimpleMode est définie à false.
    Il faut donc la positionner à true, dans l'explorateur de propriétés.
    Ainsi au design tu auras les onglets, et à l'éxécution non.

    (Je viens d'essayer ca marche, et je suis sous VS2005)
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  9. #9
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut
    Bingo, merci ca fonctionne bien. Vraiment pratique.

    Je met résolu car la solution me convient parfaitement.

    Maintenant si d'autres utilisent des méthodes encore plus simples, pratiques,tordues 8) ,.... Vous pouvez toujours les mentionner dans ce post.

  10. #10
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    J'avais une autre technique, c'était de retirer dynamiquement toutes les pages du TabControl, puis de remettre la seule que je voulais afficher. C'est plus lourd en terme de performances, et puis surtout ca ne vire pas l'onglet de la page courante.
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

  11. #11
    Membre confirmé
    Avatar de frechy
    Inscrit en
    Novembre 2004
    Messages
    343
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2004
    Messages : 343
    Points : 511
    Points
    511
    Par défaut
    Il y a un tout petit problème avec ce composant.

    Meme si les tab sont invisibles, ils sont toujours accessibles.

    Exemple: sur ma tabpage1 un bouton avec comme action sur le click

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    simpleTabControl.SelectedIndex = 2;
    Maintenant si j'appuie sur gauche, je reviendrai à la page précédente, droite -> suivante.

    La solution est de mettre TabStop à false et de donner le focus à un composant de la page affichée à chaque changement

  12. #12
    Membre actif
    Homme Profil pro
    Création de jeux video (en amateur)
    Inscrit en
    Mars 2003
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Cantal (Auvergne)

    Informations professionnelles :
    Activité : Création de jeux video (en amateur)
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2003
    Messages : 408
    Points : 260
    Points
    260
    Par défaut
    sinon tu surcharges la gestion des évenmments du composants pour interception le VK_LEFT ou VK_RIGHT, et ne rien faire si il a le focus.

    sinon si tu combines la gestion dynamique des TabPage avec l'invisibilité des onglets, ca devrait aussi marcher, mais le plus propre reste l'interception des évenements clavier.
    ZTAB (Ze Text Adventure Builder)

    Logiciel très intuitif et ergonomique de création de jeux d'aventure et de livres dont vous êtes le héros.

    http://sites.google.com/site/ztabsoft/

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

Discussions similaires

  1. [MySQL] ( GET ) Lien utilisant ID pour afficher page modification
    Par spidercrash dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 27/04/2010, 20h00
  2. Afficher page sur site
    Par Lolo92160 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 08/12/2009, 10h57
  3. Réponses: 3
    Dernier message: 02/05/2007, 09h23
  4. Difficultés pour afficher un pixel à l'écran
    Par Bubonik software dans le forum C
    Réponses: 9
    Dernier message: 17/08/2003, 12h48
  5. composant builder4 pour afficher du code html
    Par BranRuz dans le forum C++Builder
    Réponses: 2
    Dernier message: 04/09/2002, 11h35

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