Solusi yang teruji dan sederhana
Saya telah mencari jawaban untuk pertanyaan ini di SO dan beberapa situs lain, tetapi satu memberikan jawaban sangat kompleks bagi saya dan beberapa jawaban lainnya tidak berfungsi dengan benar, jadi setelah banyak pengujian kode saya memecahkan teka-teki ini.
Catatan: Saya menggunakan Windows 8 dan bilah tugas saya tidak dalam mode sembunyikan otomatis.
Saya menemukan bahwa mengatur WindowState ke Normal sebelum melakukan modifikasi apa pun akan menghentikan kesalahan dengan bilah tugas yang tidak tercakup.
Kode
Saya membuat kelas ini yang memiliki dua metode, yang pertama masuk ke "mode layar penuh" dan yang kedua meninggalkan "mode layar penuh". Jadi, Anda hanya perlu membuat objek dari kelas ini dan meneruskan Formulir yang ingin Anda setel layar penuh sebagai argumen ke metode EnterFullScreenMode atau ke metode LeaveFullScreenMode:
class FullScreen
{
public void EnterFullScreenMode(Form targetForm)
{
targetForm.WindowState = FormWindowState.Normal;
targetForm.FormBorderStyle = FormBorderStyle.None;
targetForm.WindowState = FormWindowState.Maximized;
}
public void LeaveFullScreenMode(Form targetForm)
{
targetForm.FormBorderStyle = System.Windows.Forms.FormBorderStyle.Sizable;
targetForm.WindowState = FormWindowState.Normal;
}
}
Contoh penggunaan
private void fullScreenToolStripMenuItem_Click(object sender, EventArgs e)
{
FullScreen fullScreen = new FullScreen();
if (fullScreenMode == FullScreenMode.No) // FullScreenMode is an enum
{
fullScreen.EnterFullScreenMode(this);
fullScreenMode = FullScreenMode.Yes;
}
else
{
fullScreen.LeaveFullScreenMode(this);
fullScreenMode = FullScreenMode.No;
}
}
Saya telah menempatkan jawaban yang sama ini pada pertanyaan lain yang saya tidak yakin apakah itu duplikat atau bukan dari pertanyaan ini. (Tautan ke pertanyaan lain: Bagaimana cara menampilkan Formulir Windows dalam layar penuh di atas bilah tugas? )