Impossible d'afficher une Form au dessus des autres applications [Résolu]

Signaler
Messages postés
21
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
6 janvier 2009
-
Messages postés
21
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
6 janvier 2009
-
 Bonjour,
J'ai une WinForm que avec laquelle je joue sur l'état FormWindowState sur un NotifyIcon mais le problème c'est que lorsque je passe de l'état FormWindowState.Minimized à l'état FormWindowState.Normal le formulaire ne s'affiche pas au dessus des autres applications.

Voici le code en question :

        private void minimizeMaximize()
        {
            if (this.WindowState == FormWindowState.Normal)
            {
                this.minimize();
            }
            else if (this.WindowState == FormWindowState.Minimized)
            {
                this.maximize();
            }
        }
       
        private void minimize()
        {
            this.Hide();
            this.WindowState = FormWindowState.Minimized;
        }

        private void maximize()
        {
            this.WindowState = FormWindowState.Normal;
            this.Show();
        }
       
        void NotifyIconMouseClick(object sender, System.Windows.Forms.MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                this.minimizeMaximize();
            }
        }

Merci de votre aide.

8 réponses

Messages postés
21
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
6 janvier 2009

j'ai trouvé la solution!

        private void minimize()
        {
            this.WindowState = FormWindowState.Minimized;
            this.ShowInTaskbar = false;
        }

        private void maximize()
        {
            this.ShowInTaskbar = true;
            this.WindowState = FormWindowState.Normal;
        }
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Salut,
Peut-être ajouter un TopMost = true ?

<hr size="2" />-Blog-
Messages postés
4936
Date d'inscription
lundi 17 février 2003
Statut
Modérateur
Dernière intervention
14 février 2014
32
bah non... pas le TopMost ;)

mais plutot la méthode BringToFront() du formulaire :)

Sébastien FERRAND (
blog)
Consultant Indépendant
[Microsoft 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
Moui :-D

<hr size="2" />-Blog-
Messages postés
21
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
6 janvier 2009

bah c'est pareil!
j'avoue que je suis un peu perdu!
Messages postés
5487
Date d'inscription
dimanche 4 août 2002
Statut
Modérateur
Dernière intervention
20 juin 2013
49
Non c'est pas tout à fait pareil ;-)

TopMost :
A topmost form is a form that overlaps all the other (non-topmost) forms even if it is not the active or foreground form. Topmost forms are always displayed at the highest point in the z-order of the windows on the desktop. You can use this property to create a form that is always displayed in your application, such as a Find and Replace tool window.

BringToFront :
The control is moved to the front of the z-order. If the control is a child of another control, the child control is moved to the front of the z-order. BringToFront does not make a control a top-level control, and it does not raise the Paint event.

<hr size="2" />-Blog-
Messages postés
21
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
6 janvier 2009

J'avais déjà essayé avec TopMost et j'avais compris que ce n'était pas ce que je voulais.
Je ne connaissais pas BringToFront mais pourtant la fenêtre reste en arrière plan.
Messages postés
21
Date d'inscription
mardi 6 juillet 2004
Statut
Membre
Dernière intervention
6 janvier 2009

es-ce que cela pourrais venir tu type de form utilisé (fixeddialog, fixedsingle, ...)?
merci.