Question

Je veux empêcher l'utilisateur de maximiser le formulaire Windows en mode plein écran, donc j'ai désactivé le bouton Maximize. Cependant, je veux être en mesure d'avoir l'utilisateur « restaurer » le formulaire. Quand ils cliquent sur le bouton Restaurer Je veux montrer un autre, plus petit, minified, forme, qui leur montrera un bouton Maximize qui renverra l'utilisation à la forme originale.

Est-il possible de le faire?

Merci.

modifier: Tu ne comprends pas, je ne suis pas empêcher l'utilisateur de redimensionner la forme. Ce qui se produit est lorsque le cliquez sur le bouton de restauration, il cache la forme et ouvrir une nouvelle avec moins de contrôles sur elle. Quand ils cliquent sur maximiser la forme plus petite, elle retourne à la forme originale.

Était-ce utile?

La solution

Je regardais un problème semblable à celui au travail et les seules solutions que je pourrais trouver des styles de réglage impliqués fenêtre sans papier, que je n'étais pas enclin à le faire.

Par conséquent, la meilleure solution à votre problème, je pense serait de cacher le courant cacher / / restauration des boutons et ajoutez votre propre à l'aide des commandes OwnerDraw ou autres.

En regardant ce dans une perspective d'interaction utilisateur Je veux les minimiser / maximiser / restaurer les boutons pour faire exactement la même chose pour votre application comme ils le font pour tous les autres. Outrepasser cette fonctionnalité serait source de confusion pour vos utilisateurs, donc pourquoi je recommande de créer différents boutons soit sur la barre de titre ou un autre endroit sur votre interface qui exécutent cette fonction.

Autres conseils

FWIW, la bonne réponse est de faire votre formulaire redimensionne correctement, adapter à toutes les tailles de fenêtre et de ne pas contraindre l'utilisateur à ce qui est bien sur votre écran à votre résolution et votre taille de la police. Les fenêtres non redimensionnables sont l'une des choses les plus ennuyeuses que je rencontre dans une application (Windows lui-même est pleine).

Vous pouvez régler la MaximumSize et MinimumSize et activer le bouton Maximize pour obtenir ce genre d'effet.

J'ai eu une situation similaire récemment, et du point de vue de la conception de l'interface utilisateur, trouvé un bon exemple dans Windows Media Player. Il laisse le minimize, maximize et RESTORE boutons comme ils sont, et dispose d'un bouton séparé en bas à droite pour « Passer en mode Compact ». Et dans le mini / mode compact, le même bouton permet de basculer à « passer en mode plein ». Un autre exemple alternative est Skype, qui a un bouton d'icône système supplémentaire juste à gauche de la norme bouton de réduction, qui permet de basculer entre les modes Compact et Standard.

(Si j'eu le privilège, je l'aurais préféré mettre cela comme un commentaire à ajouter à la réponse acceptée de Daemin, encore relativement nouveau pour StackOverflow)

« Restauration » une forme déclenche l'événement où vous pouvez Resize vérifier si la forme mère n'est plus FormWindowState.Maximized. Sinon, vous pouvez ouvrir le formulaire enfant et cacher le parent.

Pour inverser cela, vous pouvez « maximiser » la forme de l'enfant en se cachant (ou l'élimination), puis un-cache définir le formulaire parent <=>.

Le seul problème que je peux voir avec cette méthode est que l'événement sera probablement le feu <=> plusieurs fois avant que la forme atteint un état Maximumized. Un indicateur peut être nécessaire d'ignorer ceux-ci jusqu'à ce que la forme passe de l'état actuel à l'état souhaité, ce qui peut provoquer une boucle infinie.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top