Premier plan [Résolu]

Messages postés
12
Date d'inscription
vendredi 16 juin 2006
Dernière intervention
28 novembre 2008
- 11 juil. 2006 à 10:04 - Dernière réponse :
Messages postés
12
Date d'inscription
vendredi 16 juin 2006
Dernière intervention
28 novembre 2008
- 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 

Votre réponse

11 réponses

Meilleure réponse
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 11 juil. 2006 à 15:11
3
Merci
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#]

Merci sebmafate 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de sebmafate
Messages postés
5507
Date d'inscription
dimanche 4 août 2002
Dernière intervention
20 juin 2013
- 11 juil. 2006 à 10:09
0
Merci
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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 11 juil. 2006 à 10:18
0
Merci
tu peux appeler leur méthode BringToFront()...

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft MVP Visual C#]
Commenter la réponse de sebmafate
Messages postés
12
Date d'inscription
vendredi 16 juin 2006
Dernière intervention
28 novembre 2008
- 11 juil. 2006 à 10:21
0
Merci
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
Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Dernière intervention
10 juillet 2018
- 11 juil. 2006 à 10:24
0
Merci
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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 11 juil. 2006 à 10:31
0
Merci
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
Messages postés
12
Date d'inscription
vendredi 16 juin 2006
Dernière intervention
28 novembre 2008
- 11 juil. 2006 à 13:49
0
Merci
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
Messages postés
4947
Date d'inscription
lundi 17 février 2003
Dernière intervention
14 février 2014
- 11 juil. 2006 à 13:51
0
Merci
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
Messages postés
12
Date d'inscription
vendredi 16 juin 2006
Dernière intervention
28 novembre 2008
- 11 juil. 2006 à 14:37
0
Merci
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
Messages postés
1108
Date d'inscription
mercredi 15 juin 2011
Dernière intervention
10 juillet 2018
- 11 juil. 2006 à 14:48
0
Merci
J'ai testé, ca marche, mais tout dépend où se trouve le formSecondaire.Show()
Commenter la réponse de fregolo52
Messages postés
12
Date d'inscription
vendredi 16 juin 2006
Dernière intervention
28 novembre 2008
- 12 juil. 2006 à 09:23
0
Merci
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.