Focus d'une form?

Signaler
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
-
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
-
Bonjour,

Petite question :
J'ai deux forms, disons f1 et f2. J'ouvre f2 depuis f1 en faisant un ShowDialog().
Ma form f2 possède une référence de f1, ce qui me permet d'appeler certaines méthodes de f1 dans f2.
Si j'appelle justement, dans f2, une méthode f1 (fi.Test() par ex.) qui agit, en loccurance, sur un control je m'aperçois que c'est ma form f1 qui prend le focus, et j'arrive pas à redonner le focus à ma form f2.

J'ai essayé un Actiates(), SetFocus et jsais pas tout quoi, mais rien n'y fait, la fenêtre ne veux pas revenir en avant-plan d'elle même...
Quelqu'un a t'il une idée du problème

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever

13 réponses

Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
euh
Avec quel controle tu as ce probleme ?
Parce que normalement en ShowDialog la fenetre appelante ne peut pas reprendre le focus

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
J'ai pas le code sous les yeux, mais c'est un combo auquel j'ajoute/supprime des éléments il me semble...
Je suis presque certain d'être en ShowDialog (je vérifierai encore un coup ce soir), et pourtant la fenêtre (f1) prend le focus...

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
ok donc on verra ce soir lol

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Bon c'est pourri, où j'étais j'avais pas de connexion à Internet...
Mais me voilà de retour

En fait j'ai 4 form, f1, f2, f3, et f4. je passe de f1 à f2 en showdialog, puis selon un choix de l'utilisateur, je passe de f2 à f3 ou f4 (toujours en conservant une référence de f1 !).

J'arrive donc par exemple dans f4 (je suis passé aussi de f2 à f4 en showdialog, et je met f2 en hide pour ne voir finalement que f1 et f4) et la, quand je clique sur mon bouton qui en fait ajoute/supprime des éléments dans le combo de f1, et bien la form f1 ne prend pas vraiment le focus, mais vient en avant plan ! Ceci dit, je peux pas la cliquer (surement à cause du showdialog) !?
C'est pénible, parce que ça cache ma form f4 (que je peux remettre en premier plan en cliquant dessus).
L'idéal ce serait de faire un truc du genre f4.Activates() qui permet à f4 de rester "dessus" pour par qu'on voit que f1 à pris le dessus pendant un moment (le moment du refresh du combo).

Je sais pas si c'est très clair?
:-)

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Euh, je pense...
Je jette un oeil à ça après.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Je ne suis pas parvenu à reproduire le problème lol

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Bon jvais essayer de le reproduire en simple, je te tiens au courant !

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Bon j'ai essayé aussi et j'arrive non plus pas à reproduire le problème.
Dans ce que j'ai fait, j'utilise des Threads, tu penses que ça peut être une cause du problème? En tout cas c'est assez bizarre....

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Toucher à un controle depuis un autre thread que celui qui l'a crée n'est pas du tout conseillé.
D'ailleurs en .Net 2.0 on se fait allumer par le compilo si on le fait ^^

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Euh, je vais contrôler si par hasard j'aurais fait cette erreur, mais il me semble que ce n'est pas le cas... (là je suis en cours, je peux pas faire ça avant ce soir...)
Si une idée supplémentaire te vient à l'esprit, je suis preneur...
En tout cas, merci d'avoir cherché

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
Ok
Ba sans avoir le code présentant le probleme je ne vois pas trop.

Cocoricoooooooo !!!!
coq
MVP Visual C#
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
J'abdique !
Je vais me pencher sur une autre solution, de cette façon "rien ne marche", :-p

Merci quand même !
A plus.

[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
Messages postés
6351
Date d'inscription
samedi 1 juin 2002
Statut
Modérateur
Dernière intervention
2 août 2014
84
lol

Cocoricoooooooo !!!!
coq
MVP Visual C#