Action dans une autre fenêtre

Résolu
Nelfasis Messages postés 5 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 11 mars 2009 - 4 mars 2009 à 13:34
yougourthen Messages postés 5 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 2 juin 2010 - 23 avril 2010 à 16:26
Bonjour,

Alors voilà, au bout d'un bon moment de recherche, je décide de finalement poser ma question.

J'ai un problème tout simple mais je ne trouve pas de solution. Je réalise une petite application, composé de 2 fenêtres (Form 1 et Form2). En cliquant sur un bouton dans la Form1, mon programme effectue une recherche dans un DB, à partir de données tapés dans un forumlaire de la Form1, et liste le résultat dans un tableau de la Form2. Puis, dans ma Form2, il existe 3 boutons : Fermer les fenêtres (donc tout le programme), Effectuer une nouvelle recherche, et Modifier la dernière recherche.

Mon problème n°1 : En cliquant sur le bouton Effectuer une nouvelle recherche de ma Form2, je voudrais que ma Form2 se ferme, que les champs de mon formulaire de la Form1 se vide et que le focus de saisie se place sur le premier champ. Hors, je ne trouve pas comment effectuer ces actions à partir d'une autre fenêtre que ma Form1.

Problème n°2 : Identique enfaite, en cliquant sur Modifier la dernière recherche, je voudrais que ma Form2 se ferme et que le focus de saisie se place sur le premier champs du formulaire de ma Form1.

Merci d'avance, bonne journée.

6 réponses

krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
4 mars 2009 à 16:36
Salut.

As-tu besoin de pouvoir utiliser ta form1 lors de l'affichage de ta form2 ?

Si ce n'est pas le cas, voici une méthode :
Dans la classe form2, tu ajoutes un membre bool GarderRecherche
Tu mets sa valeur à true en cliquant sur modifier, false en cliquant sur Nouvelle recherche
Et dans les deux cas, tu fermes la fenêtre

lors du clic sur "Rechercher" dans la form1

void Recherche_Click(object sender, EventArgs e)
{
    form2 maForm2 = new form2();
    // tu charges tes données via ta bdd, tu fais les traitements que tu veux
    maForm2.ShowDialog(); // Bloquant, donc form1 verrouillé tant que tu n'as pas fermé form2
    // Donc si on est là c'est qu'on a fermé la form2
    if (!maForm2.GarderRecherche)
    {
        // Tu vides les champs
    }
    MonPremierChamp.Focus();
}

Krimog :
while (!succeed = try()) ;
3
Nelfasis Messages postés 5 Date d'inscription vendredi 5 octobre 2007 Statut Membre Dernière intervention 11 mars 2009 1
9 mars 2009 à 09:38
Hello Krimog,

Merci beaucoup, c'est parfait ^^.

Bonne continuation.
0
yougourthen Messages postés 5 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 2 juin 2010
23 avril 2010 à 11:53
Bonjours,
J'aimerai savoir comment on peu eviet le blocage de la fenetre lorsqu'on utilise : form.ShowDialog
En faite j'aimerai que la fenetre reste ouverte pendant que je clique sur le bouton pour tester une connexion vers le serveur et que j'ai des réponses
Merci d'avance, bonne journée.
0
krimog Messages postés 1860 Date d'inscription lundi 28 novembre 2005 Statut Membre Dernière intervention 14 février 2015 49
23 avril 2010 à 13:26
Tu remplaces ShowDialog() par Show(), tout simplement

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
yougourthen Messages postés 5 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 2 juin 2010
23 avril 2010 à 16:17
Oui mais qd je met Show, l'éxecution continue et n'attend pas que je tape ce ke je veut sur la fenêtre ouverte pour le traité par la suite
0
yougourthen Messages postés 5 Date d'inscription vendredi 16 mars 2007 Statut Membre Dernière intervention 2 juin 2010
23 avril 2010 à 16:26
voilà le bout de code :

form1 formulaire = new form1();
formulaire.ShowDialog();
if(buttonIdentification){ identification();}
if(buttonconnexion) { connexion();}

donc je veut que qd je rempli le formulaire pour s'identidier ou se connecter la fenetre reste ouverte et que qd je click sur un boutton le traitement seras fait.
0
Rejoignez-nous