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 :

Passage de variable d'une form à une autre -> souci


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut Passage de variable d'une form à une autre -> souci
    Le problème originel de ce topic est réglé; le nouveau souci est ici : https://www.developpez.net/forums/d1.../#post10674604




    Salut !

    Dans mon programme (c'est un jeu), je souhaiterais que l'utilisateur ait x secondes pour entrer un mot. Si passé ce délai il n'a rien rentré, la suite du code s'enchaîne.

    Quelle est ma la meilleure façon d'arriver à cela et avec quels outils ?

    Merci !

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    timer
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre Expert
    Homme Profil pro
    edi
    Inscrit en
    Juin 2007
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : edi

    Informations forums :
    Inscription : Juin 2007
    Messages : 941
    Par défaut
    Programme fenêtré ou programme console ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    464
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 464
    Par défaut
    Merci mais en fait, j'ai trouvé entre temps !

    Par contre, je tombe sur un autre os...

    J'aimerais passer des variables d'une form à une autre et ça coince...

    Voici la form1 :

    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
    public partial class Form1 : Form
        {
            private int nbext = 0;
            private int choixstyle = 0;
            private Form2 frm2;
            private Form3 frm3;
     
            public Form1()
            {
                InitializeComponent();
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                IsMdiContainer = true;
                encodageToolStripMenuItem.Enabled = false;
            }
     
            private void nombreDextraitsToolStripMenuItem_Click(object sender, EventArgs e)
            {
                frm2 = new Form2();
                frm2.Show();
                frm2.MdiParent = this;
                frm2.WindowState = FormWindowState.Maximized;
                nbext = frm2.Nbext;
                choixstyle = frm2.Choixstyle;
                encodageToolStripMenuItem.Enabled = true;
                donnéesDeJeuToolStripMenuItem.Enabled = false;
            }
     
            private void quitterToolStripMenuItem_Click(object sender, EventArgs e)
            {
                this.Dispose();
            }
     
            private void encodageToolStripMenuItem_Click(object sender, EventArgs e)
            {
                frm3 = new Form3();
                frm3.Show();
                frm3.MdiParent = this;
                frm3.WindowState = FormWindowState.Maximized;     
                ...       
            }
        }
    Voici la form2 :

    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
    public partial class Form2 : Form
        {
            private int _nbext = 0;
            private int _choixstyle = 0;
     
            public int Nbext
            {
                get { return _nbext; }
                set { _nbext = value; }
            }
     
            public int Choixstyle
            {
                get { return _choixstyle ; }
                set { _choixstyle = value; }
            }
     
            public Form2()
            {
                InitializeComponent();
            }
     
            private void Form2_Load(object sender, EventArgs e)
            {
                comboBox1.SelectedIndex = 0;
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                bool result = false;
                result = Int32.TryParse(textBox1.Text, out _nbext);
                if (result && _nbext >= 5 && _nbext <= 70 && comboBox1.SelectedIndex >= 0)
                {
                    Choixstyle = comboBox1.SelectedIndex;
                    this.Dispose();
                }
                else
                {
                    textBox1.Clear();
                    this.ActiveControl = textBox1;
                }
            }
        }
    Comment faire pour récupérer les valeurs "nbext" et "choixstyle" dans la form1 (après avoir été modifiées dans la form2) ?

    Merci !

  5. #5
    Membre Expert
    Homme Profil pro
    Développeur .Net / Delphi
    Inscrit en
    Juillet 2002
    Messages
    738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur .Net / Delphi
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2002
    Messages : 738
    Par défaut
    Bonjour,

    frm2.ShowDialog();

    frm2 sera modale.

  6. #6
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2005
    Messages
    482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2005
    Messages : 482
    Par défaut
    Salut (et bonannée)

    ebastien : sa form1 est en mode MDIContainer donc je ne pense pas que ShowDialog() fonctionne (du moins comme il le voudrait) dans ce cas.

    je pense avoir cerné ton problème : ta From2 s'affiche et renvoie les variables avant même que tu ais pu leur donner une valeur.

    Il faut donc que ta Form1 reçoive l’événement APRES que tu ais modifié la valeur de tes variables :
    Dans ta Form2 tu dois créer un Event (en public) qui sera exécuté au moment de la modification de tes valeurs.
    Tu dois ensuite abonner ta Form1 à l'Event de ta Form2 comme ça quand tu changes la valeur dans Form2 elle lance un Event qui est capté par ta Form1 dont tu n'as plus qu'à en récupérer les valeurs.

    En gros => Cours/tutoriel sur les Events et délégués

Discussions similaires

  1. [legend] Plusieurs marqueurs pour une entrée de la légende
    Par LorenzoLoren dans le forum MATLAB
    Réponses: 2
    Dernier message: 31/01/2013, 10h57
  2. [AC-2010] Erreur de type pour une entrée dans une table
    Par touraine dans le forum VBA Access
    Réponses: 2
    Dernier message: 15/12/2012, 13h40
  3. Réponses: 6
    Dernier message: 13/05/2011, 22h57
  4. sizeof d'une entrée du clavier
    Par xtimas dans le forum Débuter
    Réponses: 1
    Dernier message: 04/05/2010, 18h35
  5. [Débutant] Listener pour une entrée dans le presse papier.
    Par Silvio02 dans le forum Général Java
    Réponses: 6
    Dernier message: 08/01/2006, 22h44

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