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 :

executer une fonction d'un form A depuis un formB


Sujet :

Windows Forms

  1. #1
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Par défaut executer une fonction d'un form A depuis un formB
    Bonjour,

    j'ai un petit souci.
    j'ai un formA dans lequel j'ai une fonction qui affiche certains menus en fonction d'un code (entier) que je récupère du formB, via un requete SQL sur une base de données.

    Mon problème est que je n'arrive pas, depuis le formB, à appeler la fonction qui se trouve sur le form A.

    Les deux procédures/fonctions utilisées sont déclarées public

    Quelqu'un saurait il m'aider?

    d'avance merci
    .

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2003
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : Canada

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 93
    Par défaut
    quand tu dis que tu n'y arrive pas, VS ne reconnait pas la fonction (erreur de compilation à priori)
    ou ça ne marche pas à l'exécution?

    les deux forms sont-ils dans le même namespace?
    La méthode à appeler est t-elle static?

  3. #3
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Par défaut
    Merci pour ta réponse.

    Les deux forms sont dans le meme namespace.
    la fonction est de type : public void.

    le message de vs est :
    le nom 'mafonction' n'existe pas dans le contexte actuel
    merci pour ton aide

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Tu pourrais afficher le code du form ou tu appelles ta fonction ?

  5. #5
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Par défaut
    Voila le code, merci d'avance

    Code Code formA : 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
    50
    51
     
    namespace SQual
    {
        public partial class frmAccueil : Form
        {
            public frmAccueil()
            {
                InitializeComponent();
     
            }
            string NomForm;     
            string MenuCreation;
            frmLogins maFrmLogin;
            private void SQual_Load(object sender, EventArgs e)
            {
     
                maFrmLogin = new frmLogins();
                maFrmLogin.ShowDialog(); 
                Afficher_FrmMenu(maFrmLogin.RetLogin);
     
            public void Afficher_FrmMenu(int code)
            {
                if (code == 1)
                {
                    //Non modifié pour ne pas être embèté par les droits d'accès
                    stockToolStripMenuItem.Enabled = true;
                    créationToolStripMenuItem.Enabled = true;
                    lotToolStripMenuItem.Enabled = true;
                    statistiquesToolStripMenuItem.Enabled = true;
                    consultationToolStripMenuItem.Enabled = true;
                    entréeCaissesToolStripMenuItem.Enabled = true;
                    utilisateursToolStripMenuItem.Enabled = true;
                    modèleToolStripMenuItem.Enabled = true;
                    machineToolStripMenuItem.Enabled = true;
                    lancerToolStripMenuItem.Enabled = true;
                    démarrerToolStripMenuItem.Enabled = true;
                    libérerPresseToolStripMenuItem.Enabled = true;
                    lotEnContrôleToolStripMenuItem.Enabled = true;
                    réduitesToolStripMenuItem.Enabled = true;
                }
                if (code == 2)
                {
                    //Accès autorisé au menu création
                    créationToolStripMenuItem.Enabled = true;
                    //Accès au sous menus Catégories, Modèle, Machine
                    utilisateursToolStripMenuItem.Enabled = true;
                    modèleToolStripMenuItem.Enabled = true;
                    machineToolStripMenuItem.Enabled = true;
                }
     
            }

    Code Code formB : 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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    namespace SQual
    {
        public partial class frmLogins : Form
        {
            public frmLogins()
            {
                InitializeComponent();
     
            }
            SqlDataReader ReadLogin;
    // Déclaration variable
            private Boolean loginOk = false;
            private Int32 codeLogin = 0;
     
     
            public Boolean TestLogin
            {
                get { return loginOk; }
                set { loginOk = value; }
            }
            public Int32 RetLogin
            {
                get { return codeLogin; }
                set { codeLogin = value; }
            }
     
            private void butValider_Click(object sender, EventArgs e)
            {
                //Verification du Login et du Password
                sqlConnect.Open();
     
                //Définition des paramètres
                sqlCheckLogin.Parameters["@NomLogin"].Value=tboxLogin.Text;
     
                //Lancement de la requète
                sqlCheckLogin.ExecuteNonQuery();
     
                //Lecture de la valeur
                ReadLogin=sqlCheckLogin.ExecuteReader();
                ReadLogin.Read();
     
     
                if (ReadLogin.HasRows!=false)//verifie l'existence du user dans la table
                {
                    if(ReadLogin[0].ToString()==tboxLogin.Text)
                    {
                        if(tboxPwd.Text==ReadLogin[1].ToString())
                        {
                            MessageBox.Show("Bienvenue dans SQual");
                            Afficher_menu();
                        }
                        else
                        {
                            MessageBox.Show("password incorrect");
                            tboxPwd.Clear();
                            tboxPwd.Focus();
                            sqlConnect.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Login incorrect!!", "Erreur login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        tboxPwd.Clear();
                        tboxLogin.Focus();
                        sqlConnect.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Login inconnu");
                    tboxPwd.Text = "";
                    sqlConnect.Close();
                }
                tboxLogin.Focus();
                if (TestLogin)
                    this.Close();
                ReadLogin.Close();
     

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Août 2008
    Messages
    310
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 310
    Par défaut
    Et c'est quelle méthode que tu n'arrives pas à appeler ?

  7. #7
    Membre averti
    Inscrit en
    Septembre 2007
    Messages
    23
    Détails du profil
    Informations forums :
    Inscription : Septembre 2007
    Messages : 23
    Par défaut
    Salut!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    frmAccueil MonFrmAccueil = new frmAccueil ();
    MonFrmAccueil.maSuperFonction();
    Si tu essayes de faire ca, ca ne passe pas ?

  8. #8
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Par défaut
    Essai comme ceci :

    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
    50
    51
     
    namespace SQual
    {
        public partial class frmAccueil : Form
        {
            public frmAccueil()
            {
                InitializeComponent();
     
            }
            string NomForm;     
            string MenuCreation;
            frmLogins maFrmLogin;
            private void SQual_Load(object sender, EventArgs e)
            {
                //CHANGEMENT
                maFrmLogin = new frmLogins(this);
                maFrmLogin.ShowDialog(); 
                Afficher_FrmMenu(maFrmLogin.RetLogin);
     
            public void Afficher_FrmMenu(int code)
            {
                if (code == 1)
                {
                    //Non modifié pour ne pas être embèté par les droits d'accès
                    stockToolStripMenuItem.Enabled = true;
                    créationToolStripMenuItem.Enabled = true;
                    lotToolStripMenuItem.Enabled = true;
                    statistiquesToolStripMenuItem.Enabled = true;
                    consultationToolStripMenuItem.Enabled = true;
                    entréeCaissesToolStripMenuItem.Enabled = true;
                    utilisateursToolStripMenuItem.Enabled = true;
                    modèleToolStripMenuItem.Enabled = true;
                    machineToolStripMenuItem.Enabled = true;
                    lancerToolStripMenuItem.Enabled = true;
                    démarrerToolStripMenuItem.Enabled = true;
                    libérerPresseToolStripMenuItem.Enabled = true;
                    lotEnContrôleToolStripMenuItem.Enabled = true;
                    réduitesToolStripMenuItem.Enabled = true;
                }
                if (code == 2)
                {
                    //Accès autorisé au menu création
                    créationToolStripMenuItem.Enabled = true;
                    //Accès au sous menus Catégories, Modèle, Machine
                    utilisateursToolStripMenuItem.Enabled = true;
                    modèleToolStripMenuItem.Enabled = true;
                    machineToolStripMenuItem.Enabled = true;
                }
     
            }
    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
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
     
    namespace SQual
    {
        public partial class frmLogins : Form
        {
            //CHANGEMENT
            private frmAccueil fAccueil;
            public frmLogins(frmAccueil fAccueil)
            {
                InitializeComponent();
                //CHANGEMENT
                this.fAccueil = fAccueil;
     
            }
     
            SqlDataReader ReadLogin;
    // Déclaration variable
            private Boolean loginOk = false;
            private Int32 codeLogin = 0;
     
     
            public Boolean TestLogin
            {
                get { return loginOk; }
                set { loginOk = value; }
            }
            public Int32 RetLogin
            {
                get { return codeLogin; }
                set { codeLogin = value; }
            }
     
            private void butValider_Click(object sender, EventArgs e)
            {
                //Verification du Login et du Password
                sqlConnect.Open();
     
                //Définition des paramètres
                sqlCheckLogin.Parameters["@NomLogin"].Value=tboxLogin.Text;
     
                //Lancement de la requète
                sqlCheckLogin.ExecuteNonQuery();
     
                //Lecture de la valeur
                ReadLogin=sqlCheckLogin.ExecuteReader();
                ReadLogin.Read();
     
     
                if (ReadLogin.HasRows!=false)//verifie l'existence du user dans la table
                {
                    if(ReadLogin[0].ToString()==tboxLogin.Text)
                    {
                        if(tboxPwd.Text==ReadLogin[1].ToString())
                        {
                            MessageBox.Show("Bienvenue dans SQual");
                            //CHANGEMENT
                            fAccueil.Afficher_menu();
                        }
                        else
                        {
                            MessageBox.Show("password incorrect");
                            tboxPwd.Clear();
                            tboxPwd.Focus();
                            sqlConnect.Close();
                        }
                    }
                    else
                    {
                        MessageBox.Show("Login incorrect!!", "Erreur login", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                        tboxPwd.Clear();
                        tboxLogin.Focus();
                        sqlConnect.Close();
                    }
                }
                else
                {
                    MessageBox.Show("Login inconnu");
                    tboxPwd.Text = "";
                    sqlConnect.Close();
                }
                tboxLogin.Focus();
                if (TestLogin)
                    this.Close();
                ReadLogin.Close();
     
    J'ai simplement passé ta form accueil au constructeur de ta form login, j'ai marqué les changements par un commentaire pour mieux te réperer.

    bonne continuation a+

  9. #9
    Membre averti
    Inscrit en
    Janvier 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Janvier 2007
    Messages : 22
    Par défaut
    Merci à tous ceux qui ont répondu.

    Mais surtout à hotsizzle
    grâce à qui j'ai pu avancer d'un très grand pas dans mon programme.

    Ça fait super plaisir de voir qu'il y a des gens pour vous aider

    Bonne continuation à tous

  10. #10
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Par défaut
    Hoooo je crois que c'est la première fois qu'on me remercie avec tant de joie !

    A très bientôt.

  11. #11
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    337
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 337
    Par défaut
    Tu peux passer les post en résolu ? ! Merci

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 22/07/2008, 10h53
  2. Executer une fonction depuis un pop-up : rien ne se passe
    Par gnappy dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 23/11/2007, 16h16
  3. Appeler une fonction d'un fichier SWF depuis un Form VB6
    Par Silk_do_Nadear dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 03/04/2007, 07h25
  4. Réponses: 3
    Dernier message: 16/01/2006, 16h02
  5. [Reflection] Executer une fonction dont le nom est contenu dans un String
    Par christobal dans le forum API standards et tierces
    Réponses: 8
    Dernier message: 05/07/2004, 15h23

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