Menonaktifkan Minimalkan & Maksimalkan Pada WinForm?


99

WinForms memiliki tiga kotak di sudut kanan atas yang meminimalkan, memaksimalkan, dan menutup formulir. Apa yang ingin saya lakukan adalah menghilangkan meminimalkan dan memaksimalkan, sambil menjaga jarak.

Saya juga harus membuat close meminimalkan bentuk daripada menutupnya.

Bagaimana ini bisa dilakukan?

Jawaban:


162

The Formmemiliki dua properti yang disebut MinimizeBoxdan MaximizeBox, setel keduanya ke false.

Untuk menghentikan penutupan formulir, tangani FormClosingacara tersebut, dan atur e.Cancel = true;di sana dan setelah itu, setel WindowState = FormWindowState.Minimized;, untuk meminimalkan formulir.


1
Bisakah Anda tidak hanya mengatur kotak kontrol ke salah.
kehormatan krystan

3
@krystanhonour OP ingin tetap dekat.
Hans Olsson

16

Atur MaximizeBoxdan MinimizeBoxbentuk properti menjadiFalse


15

Ikat penangan ke FormClosingacara, lalu setel e.Cancel = true, dan setel formulirthis.WindowState = FormWindowState.Minimized .

Jika Anda ingin benar-benar menutup formulir, buat boolean seluruh kelas _closedan, di penangan Anda, setel e.Cancelke !_close, sehingga setiap kali pengguna mengeklikX jendela, itu tidak menutup, tetapi Anda masih dapat menutupnya (tanpa hanya membunuhnya) denganclose = true; this.Close();

(Dan hanya untuk membuat jawaban saya lengkap) mengatur MaximizeBoxdan MinimizeBoxmembentuk properti ke False.


5

Klik kanan pada form yang Anda inginkan untuk menyembunyikannya, pilih Controls -> Properties.

Di Properties, set

  • Kotak Kontrol -> Salah
  • Minimalkan Kotak -> Salah
  • Maksimalkan Kotak -> Salah

Anda akan melakukan ini di desainer.


4

Bagaimana cara memperkecil form saat menutup sudah terjawab, tapi cara menghilangkan tombol minimalkan dan maksimalkan tidak.
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox:false


3

Anda cukup menonaktifkan maksimalkan konstruktor formulir dalam.

 public Form1(){
     InitializeComponent();
     MaximizeBox = false;
 }

untuk meminimalkan saat menutup.

private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
    e.Cancel = true;
    WindowState = FormWindowState.Minimized;
}

1
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}

2
Harap tambahkan beberapa penjelasan pada jawaban Anda
mechnicov

Sobat, ini sangat mudah, hanya harus membaca setiap baris kode
Mauricio Kenny

Pada SO, kualitas jawabannya rendah
mechnicov
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.