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 :

Appel de Procédure


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Par défaut Appel de Procédure
    Bonjour,

    j'ai deux formes, je voudrais appeler dans ma Form1 une procédure de la Forme2. La procédure que je souhaite appeler est du type

    public void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)

    Je pense que ce n'est pas recomandé d'apeler ces procédures à partir d'une forme mais je pense que c'est le moyen le plus "simple" dans mon cas.

    J'écris le code suivant pour apeller ma procédure:

    Form2 maForm2 = new Form2();
    maForm2.textBox1_KeyDown(????);

    Mais je n'ai aucune idée de ce qu il faut écrire entre les parenthese.

    Si c'est vraiment interdit d'apeler ce genre de procédure est ce que quelqu'un a une alternative a me proposer.

    Merci d'avance.

  2. #2
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    la forme1 possède t-elle la form2 ?

    Il n'est pas logique d'etre dans cette situation la.

    Pourrais tu nous expliquer le contexte qui fait que tu arrives à ce besoin ?

    Appeler la méthode sinon ne pose pas de problème particulier...

    Il te faut juste créer un KeyEventArg et faire un appel du genre

    form1_OnKeyDown(this, toto);
    ou toto = new KeyEventArg();

    par exemple

    The Monz, Toulouse

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Par défaut
    En fait la forme 1 contient un datagrid. A un moment donné la forme 2 est appelée par une procédure. La Forme 2 contient une textbox. Le texte que l'utilisateur entre dans la textbox doit etre envoyé dans le datagrid. Or avant que la forme 2 apparaisse a l'écran et que l'utilisateur entre son texte, la datagrid est rempli par la procécédure qui appele la forme2 et donc la valeur que l'utilisateur entre dans la textbox n'est pas prise en compte.

    J'ai essayé de séparer l'appel de la forme 2 et le remplissage du datagrid dans deux procédure différente mais j'avais toujours le meme probleme.

    J'espere que j'ai été à peu près clair.

    Sinon je ne sais pas ce que veut dire exactement la forme appartient a une autre.

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Par défaut
    En general, dans ce genre de système, on sépare la couche DOCUMENT (si tu preferes la classe qui contient les informations) de la couche Representation (alias les IHM)..

    Pour eviter que les 2 forms bricolent entre elles, il vaut mieux avoir les
    données à modifier dans le document.. et faire en sorte que le document leve un evenement lorsqu'il est modifié.. Ainsi, si une forme est "abonné" à cet evenement, elle pourra se mettre à jour sur la reception de cet evenement...


    Apres, quand je dis la form2 appartient à la form1, c'est pour dire que form2 est un objet instancié dans la form1 (en gros, dans form1 tu fais à un moment donnée form2 = new form2() ; .. et que l'affichage de la form2 est donc fait (form2.Show) par la form1...(quand on fait cela, on peut passer à la form2 dans le Show() le parent qui l'a ouvert (ce qui peut parfois etre utile

    Est-ce plus clair ?

    The Monz, Toulouse

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 50
    Par défaut
    Ouais un peu plus claire. Je te remercie pour la je ne sais combientieme fois

    J'ai réussi a faire ce que je voulais par un autre moyen, mais je n'ai pas réussi a apellé ma procédure

    public void textBox1_KeyDown(object sender, System.Windows.Forms.KeyEventArgs e)

Discussions similaires

  1. [appeler une procédure stockée]
    Par viny dans le forum PostgreSQL
    Réponses: 6
    Dernier message: 10/03/2005, 22h38
  2. Appel de Procédure stockée en ASP
    Par James85 dans le forum MS SQL Server
    Réponses: 8
    Dernier message: 14/11/2004, 17h55
  3. Appel de procédure par contenu de variable
    Par lil_jam63 dans le forum Langage
    Réponses: 9
    Dernier message: 13/09/2004, 08h05
  4. Appel de procédure dans une page ASP
    Par PrinceMaster77 dans le forum ASP
    Réponses: 5
    Dernier message: 02/04/2004, 16h59
  5. Appel de procédure...
    Par AmaX dans le forum Langage
    Réponses: 4
    Dernier message: 24/11/2002, 17h48

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