Verrouillé Minimisation d'une Form

  • mercredi 12 mai 2010 22:58
     
     

    Bonjour,

    Dans une appli WinForm, j'ai besoin d'intercepter la minimisation de la Form avant qu'elle ne soit effective et de remplacer l'action par Visible = False.

    En fait l'appli comporte 2 Form, Form1 est la Form principale et apparait dans la barre des tâches, Form2 est la seconde et n'apparait pas dans la barre des taches.

    Lorsque Form1 est minimisée, elle cache Form2. Lorsqu'elle se réactive depuis la barre des taches, elle affiche Form2 qui réapparait donc en lieu et place. Ok.

    Lorsque c'est Form2 qui est minimisée elle disparait complètement de l'écran et minimise Form1 qui, seule, apparait dans la barre des taches. La réactivation ne peut donc se faire que par Form1 et c'est là que le problème se pose.

    voici le code exécuté par Form1 pour réafficher Form2 :

     

    Form2.WindowState = FormWindowState.Normal
    Form2.Location = précédente location
    Form2.Size = précédente size
    Form2.Show()
    

     

    Mais Form2  n'apparait alors que minimisée et mal positionnée sur l'écran. Pourquoi ?

    D'où l'idée de NE PAS minimiser Form2 lorsque l'utilisateur appuie sur la commande correspondante mais seulement la cacher.

    J'espère avoir été clair. Comment réaliser cela ?

    Merci de votre aide.

     


    Alain

Toutes les réponses

  • mercredi 12 mai 2010 23:30
     
     Traitée A du code

    Je viens de trouver la réponse. Il suffit de faire le Show() en premier :

    Form2.Show()
    Form2.WindowState = FormWindowState.Normal
    Form2.Location = précédente location
    Form2.Size = précédente size
    

    Et tout se passe bien.

    Désolé pour le dérangement.


    Alain
    • Marqué comme réponse AchLog mercredi 12 mai 2010 23:30
    •