2010-08-24 6 views
1

J'ai un petit problème où si j'ai un WinForm et le maximiser, et l'envoyer à la barre d'état système, quand je le restaure, ce n'est plus la taille maximum. J'essaye de placer un indicateur IsMaximized à vrai si le formulaire est maximisé quand il est envoyé au plateau, mais quand il est envoyé au plateau, l'état de forme est minimisé, ainsi il n'attrape pas quand il est maximisé.WinForm Maximiser la restauration sur le plateau?

Des idées sur la façon dont je peux contourner ce problème?

Merci!

+0

"Envoi vers la zone de notification" ne veut pas dire quoi que ce soit. Remplacez OnHandleCreated et définissez un point d'arrêt dessus. Quand il se casse pendant que vous "l'envoyez au plateau" ou le restituez alors vous avez probablement trouvé la raison du problème. –

Répondre

1

Essayez ceci:

if (this.WindowState == FormWindowState.Maximized) 
{ 
    if (this.Size != this.MaximumSize) 
    { 
     this.Size = this.MaximumSize; 
     this.WindwoState = FormWindowState.Maximized; 
    } 
} 
+0

Cela fonctionne, sauf pour une raison quelconque, lorsque le formulaire est restauré à partir de la barre d'état système, il n'est pas visible jusqu'à ce que vous cliquez dans la barre des tâches. Des idées pour résoudre le problème? – sooprise

+0

Je pense que c'est parce qu'il ne sait pas qu'il est maintenant maximisé, donc ajouter ceci.WindwoState = FormWindowState.Maximized; J'ai édité ma réponse avec elle – Wildhorn

+0

Je reçois toujours le même problème avec le nouveau code ... C'est assez déroutant. – sooprise

Questions connexes