Action dans une autre fenêtre [Résolu]

Signaler
Messages postés
5
Date d'inscription
vendredi 5 octobre 2007
Statut
Membre
Dernière intervention
11 mars 2009
-
yougourthen
Messages postés
5
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
2 juin 2010
-
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

Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
38
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()) ;
Messages postés
5
Date d'inscription
vendredi 5 octobre 2007
Statut
Membre
Dernière intervention
11 mars 2009
1
Hello Krimog,

Merci beaucoup, c'est parfait ^^.

Bonne continuation.
Messages postés
5
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
2 juin 2010

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.
Messages postés
1860
Date d'inscription
lundi 28 novembre 2005
Statut
Modérateur
Dernière intervention
14 février 2015
38
Tu remplaces ShowDialog() par Show(), tout simplement

Krimog : while (!(succeed = try())) ;
- Nous ne sommes pas des décodeurs ambulants. Le style SMS est prohibé. -
Messages postés
5
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
2 juin 2010

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
Messages postés
5
Date d'inscription
vendredi 16 mars 2007
Statut
Membre
Dernière intervention
2 juin 2010

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.