cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 2013
-
11 janv. 2005 à 13:24
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014
-
13 janv. 2005 à 09:13
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
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 11 janv. 2005 à 16:55
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...
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 12 janv. 2005 à 07:55
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).
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 12 janv. 2005 à 10:47
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....
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 12 janv. 2005 à 10:56
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 ^^
cs_Bidou
Messages postés5487Date d'inscriptiondimanche 4 août 2002StatutMembreDernière intervention20 juin 201361 12 janv. 2005 à 12:09
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é