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 :

Ajout d'onglet entres différents formulaire [Débutant]


Sujet :

C#

  1. #1
    Membre à l'essai
    Homme Profil pro
    GrDF
    Inscrit en
    Novembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : GrDF
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 19
    Points : 14
    Points
    14
    Par défaut Ajout d'onglet entres différents formulaire
    Bonjour,

    Je vous contact au sujet d'un problème que je rencontre pour un ajout d'onglet à travers deux formulaires.

    J'ai une fenêtre principale (Form1) qui affiche une carte avec différent menu et un autre formulaire (nouveauProjet) qui me permet de rentrer les informations nécessaires à la création d'un nouveau projet.

    J'aimerai que quand je rentre ces informations dans le formulaire (nouveauProjet) dans le formulaire (Form1) un nouvel onglet s'affiche avec le nom du projet.

    Pour l'instant je n'arrive pas à le faire fonctionner.

    J'ai fait cela comme ceci :

    Form1 (ouverture du nouveauProjet) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            private void nouvelleTournéeToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Form nouvelleTournee = new nouveauProjet();
                nouvelleTournee.Show();
            }
    nouveauProjet (remplissage des informations et création d'onglet à travers Form1)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
            private void btEnregistrer_Click(object sender, EventArgs e)
            {
                string[] lines = { "typeMaintenance = " + maintenanceType.Text, "nomTournee = " + tourneeNom.Text, "datePrevue = " + dateTournee.Value, "communeDepart = " + cbCommuneDepart.Text, "agenceDepart = " + cbAgenceDepart.Text, "2Agent = " + checkDeuxAgents.Checked};
                string applicationPath = Application.StartupPath;
                string directoryPath = applicationPath + "/saveFiles/" + tourneeNom.Text +"/";
                System.IO.Directory.CreateDirectory(directoryPath);
                System.IO.File.WriteAllLines(directoryPath + "config.txt", lines);
                Form1 ajouteeOngletForm1 = new Form1();
                ajouteeOngletForm1.ajoutOnglet(tourneeNom.Text);
            }
    Ajout de l' onglet dans Form1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            public void ajoutOnglet(string title)
            {
                TabPage myTabPage = new TabPage(title);
                mainTab.TabPages.Add(myTabPage);
            }
    Cependant rien ne se passe et ça ne fonctionne pas....

    Quelqu'un aurait une idée pour réussir cette action ?

    Merci par avance.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Schamm,

    Tu utilise bien l'ajout dans ta méthode "ajoutOnglet". Le problème c'est qu'à partir du formulaire de création de projet, pour faire l'ajout, tu utilises une nouvelle fenêtre dont tu crées l'instance avec "Form1 ajouteeOngletForm1 = new Form1();". Cela ne correspond pas à la fenêtre principale. Du coup, tu ne causes pas à l'instance de ta fenêtre principale.

    En fait, à partir de ta fenêtre de création de projet, il te faut une référence vers la fenêtre de type "Form1" qui appelle la fenêtre de nouveau projet. Passe par exemple en argument de ton constructeur "nouveauProjet" un paramètre de type "Form1", et tu met "this" lors de l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    private void nouvelleTournéeToolStripMenuItem_Click(object sender, EventArgs e)
            {
                Form nouvelleTournee = new nouveauProjet(this);
                nouvelleTournee.Show();
            }
    Constructeur de nouveauProjet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public nouveauProjet(Form1 mainForm)
    {
        _mainForm=mainForm;
    }
    où "_mainForm" est une variable membre de nouveauProjet de type Form1...

    et dans ta fenêtre de création de projet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private void btEnregistrer_Click(object sender, EventArgs e)
            {
                string[] lines = { "typeMaintenance = " + maintenanceType.Text, "nomTournee = " + tourneeNom.Text, "datePrevue = " + dateTournee.Value, "communeDepart = " + cbCommuneDepart.Text, "agenceDepart = " + cbAgenceDepart.Text, "2Agent = " + checkDeuxAgents.Checked};
                string applicationPath = Application.StartupPath;
                string directoryPath = applicationPath + "/saveFiles/" + tourneeNom.Text +"/";
                System.IO.Directory.CreateDirectory(directoryPath);
                System.IO.File.WriteAllLines(directoryPath + "config.txt", lines);
                _mainForm.ajoutOnglet(tourneeNom.Text);
            }

  3. #3
    Membre à l'essai
    Homme Profil pro
    GrDF
    Inscrit en
    Novembre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : GrDF
    Secteur : Bâtiment Travaux Publics

    Informations forums :
    Inscription : Novembre 2013
    Messages : 19
    Points : 14
    Points
    14
    Par défaut
    Super merci ça fonctionne nickel ... Je pense bien que ça va me servir pour résoudre pas mal de problème.


    Au cas ou cela poserai problème pour quelqu'un d'autre le code de Ph_Gr fonctionne parfaitement manque juste :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    private Form1 _mainForm;
    A mettre dans la public class de nouveauProjet

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

Discussions similaires

  1. Ajout onglet en mode formulaire
    Par justine91 dans le forum Macros Access
    Réponses: 7
    Dernier message: 18/02/2014, 22h16
  2. [AC-2007] Lien entre différents éléments dans un formulaire
    Par firlama28 dans le forum IHM
    Réponses: 2
    Dernier message: 03/08/2012, 11h34
  3. Réponses: 10
    Dernier message: 05/11/2008, 15h20
  4. Transfert de données entre différents formulaires
    Par sbocquet dans le forum InfoPath
    Réponses: 1
    Dernier message: 16/04/2008, 15h04
  5. Ajout d'onglets sur un formulaire existant
    Par jkrtu dans le forum IHM
    Réponses: 4
    Dernier message: 08/04/2008, 17h13

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