Premier plan [Résolu]

JMsme 12 Messages postés vendredi 16 juin 2006Date d'inscription 28 novembre 2008 Dernière intervention - 11 juil. 2006 à 10:04 - Dernière réponse : JMsme 12 Messages postés vendredi 16 juin 2006Date d'inscription 28 novembre 2008 Dernière intervention
- 12 juil. 2006 à 09:23
Bonjour,

J'ai realise une ihm constituée de trois forms. Je souhaite que lorsque
la principale est activée, les deux autres soient visibles. J'ai essayé
en mettant leur attribut TopMost a true, mais elles sont alors toujours
au premier plan, meme lorsqu'une autre fenetre est activée. Comment
pourrais-je eviter cela?

Merci
Afficher la suite 

11 réponses

Répondre au sujet
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 11 juil. 2006 à 15:11
+3
Utile
mouarf... quelle nouille je suis...

quand tu ouvres ta fenêtre fille, utilise la méthode Show(parent).

ex :

Form2 f = new Form2();
f.Show(this); // this étant le formulaire courant

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de sebmafate
cs_Bidou 5507 Messages postés dimanche 4 août 2002Date d'inscription 20 juin 2013 Dernière intervention - 11 juil. 2006 à 10:09
0
Utile
Salut,
Euh, je vois pas trop pourquoi elles ne serait pas visibles !??
Tu ouvres tes fenêtres en faisant un Show ?

<hr size= "2" /> VC# forever
=13319
Commenter la réponse de cs_Bidou
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 11 juil. 2006 à 10:18
0
Utile
tu peux appeler leur méthode BringToFront()...

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Commenter la réponse de sebmafate
JMsme 12 Messages postés vendredi 16 juin 2006Date d'inscription 28 novembre 2008 Dernière intervention - 11 juil. 2006 à 10:21
0
Utile
Elles ne sont pas visibles lorsque la fenetre principale (qui couvre tout l'ecran) est activée, et passe alors au premier plan.

Merci sebmafate, mais quand dois je appeler cette methode? Lorsque la
fenetre principale est activée (evenement OnActivated je crois)?
Commenter la réponse de JMsme
fregolo52 1106 Messages postés mercredi 15 juin 2011Date d'inscription 19 juillet 2016 Dernière intervention - 11 juil. 2006 à 10:24
0
Utile
Si je comprends bien tu veux que tes 2 fenetres inactives soient au 1er plan. Bah, à part TopMost, je vois pas.
Si tu a créé tes 2 fenetres avec la principale, il te suffit de les mettre TopMost true quand la principale prend le focus, et de mettre TopMost false quand elle perd le focus.
Commenter la réponse de fregolo52
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 11 juil. 2006 à 10:31
0
Utile
je suis du même avis que fregolo... le mieux, dans ton cas est d'utiliser la propriété TopMost de tes fenêtres "filles".

Les évènements Activated et LostFocus de ton formulaire principal te permettrons d'en modifier la valeur.

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Commenter la réponse de sebmafate
JMsme 12 Messages postés vendredi 16 juin 2006Date d'inscription 28 novembre 2008 Dernière intervention - 11 juil. 2006 à 13:49
0
Utile
J'ai essayé, mais lorsque je fais TopMost = true, la fenetre secondaire
prend le focus puis le rend a la fenetre principale, ce qui provoque un
nouveau TopMost = true, etc. J'ai alors une boucle infinie et je suis
bloqué sur la fenetre secondaire. Ca ne marche donc pas. Ou alors, je
me suis mal débrouillé.
Commenter la réponse de JMsme
sebmafate 4947 Messages postés lundi 17 février 2003Date d'inscription 14 février 2014 Dernière intervention - 11 juil. 2006 à 13:51
0
Utile
dans le Activated, si le TopMost = true... et bah, tu ne le mets pas de nouveau... ;)

genre :

if (!form2.TopMost) {
    form2.TopMost = true;
}

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Commenter la réponse de sebmafate
JMsme 12 Messages postés vendredi 16 juin 2006Date d'inscription 28 novembre 2008 Dernière intervention - 11 juil. 2006 à 14:37
0
Utile
J'ai essayé egalement, mais ça n'a rien changé. Et je sais pas pourquoi. Mais je ne desespere pas...
Commenter la réponse de JMsme
fregolo52 1106 Messages postés mercredi 15 juin 2011Date d'inscription 19 juillet 2016 Dernière intervention - 11 juil. 2006 à 14:48
0
Utile
J'ai testé, ca marche, mais tout dépend où se trouve le formSecondaire.Show()
Commenter la réponse de fregolo52
JMsme 12 Messages postés vendredi 16 juin 2006Date d'inscription 28 novembre 2008 Dernière intervention - 12 juil. 2006 à 09:23
0
Utile
Ok, merci.

J'ai contourné le probleme en integrant les fenetres filles a l'ihm en tant que panel, mais je me souviendrai de vos conseils.
Commenter la réponse de JMsme

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.