J'ai travaillé sur l'idée de Zingd et je l'ai rendue plus simple à utiliser.
J'ai également ajouté la norme Touche F11 pour activer le mode plein écran.
Configuration
Tout est maintenant dans la classe FullScreen, donc vous n'avez pas besoin de déclarer un tas de variables dans votre formulaire. Vous instanciez simplement un objet FullScreen dans le constructeur de votre formulaire :
FullScreen fullScreen;
public Form1()
{
InitializeComponent();
fullScreen = new FullScreen(this);
}
Veuillez noter que cela suppose que le formulaire n'est pas maximisé lorsque vous créez l'objet FullScreen.
Utilisation
Il suffit d'utiliser l'une des fonctions de la classe pour faire basculer le mode plein écran :
fullScreen.Toggle();
ou si vous devez le gérer explicitement :
fullScreen.Enter();
fullScreen.Leave();
Code
using System.Windows.Forms;
class FullScreen
{
Form TargetForm;
FormWindowState PreviousWindowState;
public FullScreen(Form targetForm)
{
TargetForm = targetForm;
TargetForm.KeyPreview = true;
TargetForm.KeyDown += TargetForm_KeyDown;
}
private void TargetForm_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyData == Keys.F11)
{
Toggle();
}
}
public void Toggle()
{
if (TargetForm.WindowState == FormWindowState.Maximized)
{
Leave();
}
else
{
Enter();
}
}
public void Enter()
{
if (TargetForm.WindowState != FormWindowState.Maximized)
{
PreviousWindowState = TargetForm.WindowState;
TargetForm.WindowState = FormWindowState.Normal;
TargetForm.FormBorderStyle = FormBorderStyle.None;
TargetForm.WindowState = FormWindowState.Maximized;
}
}
public void Leave()
{
TargetForm.FormBorderStyle = FormBorderStyle.Sizable;
TargetForm.WindowState = PreviousWindowState;
}
}