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 :

[Conception] Assistant avec bouton Suivant/Précédent


Sujet :

C#

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    281
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 281
    Points : 47
    Points
    47
    Par défaut [Conception] Assistant avec bouton Suivant/Précédent
    Bonjour à tous,

    Je suis développeur mais ne programme pas souvent en c#.

    Je suis entrain de concevoir un petit programme sous forme d'un assistant, c'est à dire, une première page, puis un bouton suivant permettant d'arriver sur la secondes page. Cette seconde page contient elle un bouton précédent et un bouton suivant,etc,etc....( vous voyez le principe je pense )

    Ma question est de savoir comment bien gérer la transition entre mes forms, et, notamment au niveau ouverture/fermeture.

    Je m'explique:

    Sur ma page 1, je clique sur suivant, voici mon code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form2 maform2 = new Form2();
    maform2.ShowDialog();
    this.close();
    Question : Mon code fonctionne, mais, est-ce propre ?


    Maintenant que je suis sur ma page 2, quand je clique sur le bouton précédent ( donc afin de retourner à la form1), voici ce que je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Form1 maform1 = new Form1();
    maform1.ShowDialog();
    this.close();
    Je recréer donc une instance.

    Mon code fonctionne mais j'aimerai savoir si c'est la bonne méthode et si c'est le plus optimisé niveau.

    Merci à tous pour votre aide,

    Cordialement,

    Nixeus

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Bonjour,

    il vaudrait mieux conserver les instances de chaque forme et d'ajuster les positions et les tailles lors d'unchangement de forme.

    Par exemple ainsi :
    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
     
    Form [] MesForms  = new Tform[2] ;
    MaForm1 = new Form1() ; MesForms.Add(MaForm1) ;
    MaForm2 = new Form2() ; MesForms.Add(MaForm1) ;
     
    int FormIndex=0 ;
    int PreviousIndex=0 ;
    bool Continue=true ;
    While (Continue)
    {
       if (FormIndex!=PreviousIndex)
      {
         Forms[FormIndex].Location=Forms[PreviousIndex].Location ;
         Forms[FormIndex].Size      =Forms[PreviousIndex].Size ;
         PreviousIndex=FormIndex ;
       }
       Form[i].ShowDialog() ;
       FormIndex= xxx ; // valeur suivant bouton : Formindex+=+1 ou -1 si suivant/précédent
       Continue  = xxx ; // false si CANCEL ou Validation de la derbnière page
     }
    for (int i=0;i<Forms.length;i++) Form[i].Close ;

  3. #3
    Membre éclairé Avatar de ppphil
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2007
    Messages : 612
    Points : 685
    Points
    685
    Par défaut
    http://www.developpez.net/forums/d95...ion-assistant/
    Elle t'intéresse pas ma proposition ?

  4. #4
    Membre éclairé Avatar de chamamo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    588
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 588
    Points : 735
    Points
    735
    Par défaut
    moi j'aurais fait pareil que ppphil, en plus tu peux cacher les entetes des TabPage

    tu créer ton propre TabControl, tu hérite de la classe tabControl et tu override la méthode WndProc:

    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
     
    public class MonTabControl : TabControl
    {
        public bool TabPageHeaderVisible
        {
            get;
            set;
        }
     
        protected override void WndProc(ref Message m)
        {            
                if (m.Msg == 0x1328 && !TabPageHeaderVisible)
                {
                    m.Result = (IntPtr)1;
                }
                else
                {
                    base.WndProc(ref m);
                }
        }
    }

Discussions similaires

  1. Faire défiler 3 images avec boutons suivant/précédent
    Par Skkkd dans le forum Composants graphiques
    Réponses: 15
    Dernier message: 25/03/2011, 11h51
  2. page avec bouton suivant/précédent
    Par gagnier dans le forum Langage
    Réponses: 6
    Dernier message: 07/06/2010, 22h09
  3. [VC++2005] form avec bouton SUIVANT
    Par laatysha dans le forum VC++ .NET
    Réponses: 3
    Dernier message: 02/03/2007, 17h31
  4. [MySQL] Boutons : suivant, précédent
    Par achos dans le forum PHP & Base de données
    Réponses: 7
    Dernier message: 15/02/2007, 17h48
  5. Réponses: 1
    Dernier message: 11/09/2006, 20h07

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