Form en premier plan !!!

Signaler
Messages postés
98
Date d'inscription
samedi 17 septembre 2005
Statut
Membre
Dernière intervention
24 mai 2010
-
Messages postés
1
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
10 octobre 2006
-
Bonjour à tous ;

J'ai une application ou une fenêtre principale Form1, et je veux afficher une deuxième forme Form2 en premier plan par rapport à toutes les fenêtres ou autres applications ouvertes (Word, Explorateur, Outlook,...) l'orsqu'un évènement est déclenché.

Donc si mon application ne contient pas le focus et couverte par d'autres applications, comment afficher Form2 en premier plan par rapport à toutes les applications ?

Merci à tous et merci pour ce précieux Forum !!!

9 réponses

Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
Form2.ShowDialog();
Form2.TopMost = true;

Le showDialog te permet d'etre montré et passée en premier plan, topmost fait le meme effet que le gestionnaire de processus (ou msn quand tu coche "tjs au premier plan").
Messages postés
1160
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
21 octobre 2010
17
pardon, showdialog te permet detre en modale et donc en premier plan de ton appli et tempeche en plus de perdre le focus sur cette fenetre (a toi de paramétrer le reste). dsl davoir été aussi...flou dans le premier post
Messages postés
98
Date d'inscription
samedi 17 septembre 2005
Statut
Membre
Dernière intervention
24 mai 2010
1
Merci pour ta réponse mais c'est exactement c'est ce que j'ai essayé de faire dans mon code et ça donne rien.

Effectivement, la fenêtre sort mais toujours en arrière plan. Et si j'active le focus sur mon application à partir de la barre de tâches, j'ai juste la fenêtre principale que je peux pas contrôler (c'est normal) et pour afficher Form2, je le fais avec Alt+Tab, c'est ce qui n'est pas évident pour un simple utilisateur.
Messages postés
546
Date d'inscription
mardi 26 novembre 2002
Statut
Membre
Dernière intervention
4 mai 2007
1
Et en inversant les lignes comme ceci :
Form2.TopMost = true;
Form2.ShowDialog();
Messages postés
98
Date d'inscription
samedi 17 septembre 2005
Statut
Membre
Dernière intervention
24 mai 2010
1
Merci, mais certainement c'est ce que j'ai fait et ça donne toujours rien !!!
Messages postés
273
Date d'inscription
dimanche 5 octobre 2003
Statut
Membre
Dernière intervention
6 février 2009
1
Hello,
Oui en effet ca serait plus logique de mettre le TopMost avant le ShowDialog(), sinon, tant que ta fenêtre ne renvoie pas un DialogResult, il ne passera pas dans le TopMost, qui ne servira à rien car la fenêtre ne sera plus affiché.

<hr />
ZeBobo5
N'oubliez pas de cloturer votre post.
Messages postés
98
Date d'inscription
samedi 17 septembre 2005
Statut
Membre
Dernière intervention
24 mai 2010
1
Effectivement, pour ça je me suis rendu compte. J'allais même faire une remarque sur ça. Mais le résultat est négatif.

Je l'ai essayé et ça n'a rien donné !!!

Y'a-t-il une fonction que je ne connais pas pour une solution ???

Merci à tous !!!
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
36
Salut, c'est étonnant, avec la propriété TopMost ta forme devrait être au premier plan. as tu essayé de redonner le focus à ton application avant d'afficher la 2ème forme ? Sinon essaye avec la fonction Win32 SetWindowPos .
Messages postés
1
Date d'inscription
mardi 10 octobre 2006
Statut
Membre
Dernière intervention
10 octobre 2006

Salut à tous,

je suis désolé de rejoindre le forum sur ce jujet assez tardivement.
Mais ...! Ca peut aider quelqu'un!

Le problem est très simple.
La propriété "Form1.TopMost = true"
est active. Il faut le deactiver. Le code devrai être:

Form1.TopMost = false;
"Form2.TopMost = true;" Pas besoin!?
Form2.ShowDialog();

----
.Net Developeur