J'ai une application WinForms que j'essaie de faire en plein écran (un peu comme ce que VS fait en mode plein écran).
Actuellement, je suis en train FormBorderStyle
de configurer None
et WindowState
vers Maximized
ce qui me donne un peu plus d'espace, mais cela ne couvre pas la barre des tâches si elle est visible.
Que dois-je faire pour utiliser cet espace également?
Pour les points bonus, puis-je faire quelque chose pour que mon MenuStrip
masquage automatique renonce également à cet espace?
Une solution testée et simple
J'ai cherché une réponse à cette question dans SO et sur certains autres sites, mais l'un d'eux m'a donné une réponse très complexe et d'autres réponses ne fonctionnent tout simplement pas correctement, donc après de nombreux tests de code, j'ai résolu ce casse-tête.
Remarque: j'utilise Windows 8 et ma barre des tâches n'est pas en mode de masquage automatique.
J'ai découvert que la définition de WindowState sur Normal avant d'effectuer des modifications arrêterait l'erreur avec la barre des tâches non couverte.
Le code
J'ai créé cette classe qui a deux méthodes, la première entre en "mode plein écran" et la seconde quitte le "mode plein écran". Il vous suffit donc de créer un objet de cette classe et de transmettre le formulaire que vous souhaitez définir en plein écran comme argument à la méthode EnterFullScreenMode ou à la méthode LeaveFullScreenMode:
Exemple d'utilisation
J'ai placé cette même réponse sur une autre question dont je ne sais pas si c'est un double ou non de celle-ci. (Lien vers l'autre question: Comment afficher un Windows Form en plein écran en haut de la barre des tâches? )
la source
targetForm.WindowState = FormWindowState.Normal;
au début de quitter le plein écran également. Celui pour gérer le cas où l'utilisateur passe en plein écran à partir d'une fenêtre agrandie.Et pour la menustrip-question, essayez set
en mode plein écran, il devrait alors disparaître.
Et lorsque vous quittez le mode plein écran, réinitialisez
menustrip1.parent
à nouveau le formulaire et la barre de menus redeviendra normale.la source
Vous pouvez utiliser le code suivant pour s'adapter à votre écran système et la barre des tâches est visible.
Pas besoin d'utiliser:
Cette ligne interfère
alt+tab
pour passer à une autre application. ("TopMost" signifie que la fenêtre reste au-dessus des autres fenêtres, sauf si elles sont également marquées "TopMost".)la source
J'ai récemment créé une application Mediaplayer et j'ai utilisé des appels API pour m'assurer que la barre des tâches était masquée lorsque le programme s'exécutait en plein écran, puis j'ai restauré la barre des tâches lorsque le programme n'était pas en plein écran ou n'avait pas le focus ou était sorti.
la source
Vous devez définir votre fenêtre pour qu'elle soit la plus haute.
la source
Je ne sais pas si cela fonctionnera sur .NET 2.0, mais cela m'a fonctionné sur .NET 4.5.2. Voici le code:
Usage:
la source
Sur l'événement de déplacement de formulaire, ajoutez ceci:
la source
J'ai travaillé sur l'idée de Zingd et je l'ai simplifiée à utiliser.
J'ai également ajouté la touche F11 standard pour basculer en mode plein écran.
Installer
Tout est maintenant dans la classe FullScreen, vous n'avez donc pas à déclarer un tas de variables dans votre formulaire. Vous instanciez simplement un objet FullScreen dans le constructeur de votre formulaire:
Veuillez noter que cela suppose que le formulaire n'est pas agrandi lorsque vous créez l'objet FullScreen.
Usage
Il vous suffit d'utiliser l'une des fonctions de la classe pour basculer en mode plein écran:
ou si vous avez besoin de le gérer explicitement:
Code
la source