Saya memiliki aplikasi WinForms yang saya coba buat menjadi layar penuh (seperti yang dilakukan VS dalam mode layar penuh).
Saat ini saya menyetel FormBorderStyle
ke None
dan WindowState
ke Maximized
yang memberi saya sedikit lebih banyak ruang, tetapi tidak menutupi bilah tugas jika terlihat.
Apa yang harus saya lakukan untuk menggunakan ruang itu juga?
Untuk poin bonus, adakah yang dapat saya lakukan agar MenuStrip
sembunyikan otomatis saya juga menyerahkan ruang itu?
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:
Contoh penggunaan
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? )
sumber
targetForm.WindowState = FormWindowState.Normal;
di awal meninggalkan layar penuh juga. Itu untuk menangani kasus di mana pengguna akan layar penuh dari jendela yang dimaksimalkan.Dan untuk pertanyaan menustrip, coba set
saat dalam mode layar penuh, itu akan menghilang.
Dan saat keluar dari mode layar penuh, setel ulang
menustrip1.parent
ke formulir lagi dan menu akan normal kembali.sumber
Anda dapat menggunakan kode berikut agar sesuai dengan layar sistem Anda dan bilah tugas terlihat.
Tidak perlu menggunakan:
Garis itu mengganggu
alt+tab
untuk beralih ke aplikasi lain. ("TopMost" berarti jendela tetap di atas jendela lain, kecuali jika juga ditandai "TopMost".)sumber
Saya baru-baru ini membuat aplikasi Mediaplayer dan saya menggunakan panggilan API untuk memastikan bilah tugas disembunyikan saat program berjalan layar penuh dan kemudian memulihkan bilah tugas saat program tidak dalam layar penuh atau tidak memiliki fokus atau keluar.
sumber
Anda perlu mengatur jendela Anda menjadi yang paling atas.
sumber
Saya tidak tahu apakah ini akan berfungsi pada .NET 2.0, tetapi berhasil pada .NET 4.5.2. Ini kodenya:
Pemakaian:
sumber
Pada Acara Pindah Formulir tambahkan ini:
sumber
Saya mengerjakan ide Zingd dan membuatnya lebih mudah digunakan.
Saya juga menambahkan tombol F11 standar untuk beralih mode layar penuh.
Mempersiapkan
Semuanya sekarang ada di kelas FullScreen, jadi Anda tidak perlu mendeklarasikan banyak variabel di Formulir Anda. Anda baru saja membuat objek FullScreen di konstruktor formulir Anda:
Harap dicatat ini mengasumsikan formulir tidak dimaksimalkan saat Anda membuat objek FullScreen.
Pemakaian
Anda cukup menggunakan salah satu fungsi kelas untuk beralih ke mode layar penuh:
atau jika Anda perlu menanganinya secara eksplisit:
Kode
sumber