WinForms sağ üst köşede formu küçülten, büyüten ve kapatan üç kutuya sahiptir. Yapabilmek istediğim şey, yakınlığı korurken küçültmek ve büyütmek.
Ayrıca formu kapatmak yerine küçültmek için ne yapmalıyım.
Bu nasıl yapılabilir?
Yanıtlar:
Form
Olarak adlandırılan iki özelliği vardır MinimizeBox
ve MaximizeBox
bunların her ikisi de set, false
.
Formun kapatılmasını durdurmak için FormClosing
olayı işleyin e.Cancel = true;
ve orada ayarlayın ve ardından WindowState = FormWindowState.Minimized;
formu simge durumuna küçültmek için ayarlayın .
Bir işleyiciyi FormClosing
olaya bağlayın , ardından e.Cancel = true
formu ayarlayın ve ayarlayın this.WindowState = FormWindowState.Minimized
.
Hiç gerçekten yakın forma istiyorsanız, sınıfsal boole'sini yapmak _close
işleyicinizde, sette ve e.Cancel
karşı !_close
böylece kullanıcı tıkladığında o, X
pencerenin, bir kapanmıyor, ama sen hala yakın o (olmadan sadece öldürmek) ileclose = true; this.Close();
(Ve sadece cevabımı tamamlamak için) özellikleri ayarlayın MaximizeBox
ve MinimizeBox
oluşturun False
.
Gizlemek istediğiniz forma sağ tıklayın, Kontroller -> Özellikler'i seçin.
Özellikler'de,
Bunu tasarımcıda yapacaksınız.
form yapıcısını maksimize et seçeneğini devre dışı bırakabilirsiniz.
public Form1(){
InitializeComponent();
MaximizeBox = false;
}
kapatırken en aza indirmek için.
private void Form1_FormClosing(Object sender, FormClosingEventArgs e) {
e.Cancel = true;
WindowState = FormWindowState.Minimized;
}
public Form1()
{
InitializeComponent();
//this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle;
this.MaximizeBox = false;
this.MinimizeBox = false;
}