ปิดใช้งานย่อเล็กสุดและขยายใหญ่สุดบน WinForm หรือไม่


100

WinForms มีสามช่องที่มุมขวาบนซึ่งย่อขยายใหญ่สุดและปิดแบบฟอร์ม สิ่งที่ฉันต้องการทำได้คือการลบขนาดเล็กสุดและขยายใหญ่สุดในขณะที่ปิดไว้

ฉันยังต้องทำอย่างไรเพื่อให้การปิดย่อขนาดเล็กที่สุดแทนการปิดแบบฟอร์ม

จะทำได้อย่างไร?

คำตอบ:


162

Formมีสองคุณสมบัติที่เรียกว่าMinimizeBoxและตั้งทั้งสองของพวกเขาไปMaximizeBoxfalse

หากต้องการหยุดการปิดแบบฟอร์มให้จัดการFormClosingเหตุการณ์และตั้งค่าe.Cancel = true;ในนั้นและหลังจากนั้นตั้งค่าWindowState = FormWindowState.Minimized;เพื่อย่อขนาดฟอร์ม


1
คุณอย่าเพิ่งตั้งค่ากล่องควบคุมเป็นเท็จ
krystan honor

3
@krystanhonour OP ต้องการให้ปิดแม้ว่า
Hans Olsson


15

ผูกตัวจัดการกับFormClosingเหตุการณ์แล้วตั้งและการตั้งค่ารูปแบบe.Cancel = truethis.WindowState = FormWindowState.Minimized

หากคุณต้องการปิดแบบฟอร์มจริง ๆ ให้สร้างบูลีนสำหรับทั้งคลาส_closeและในตัวจัดการของคุณตั้งค่าe.Cancelเป็น!_closeดังนั้นเมื่อใดก็ตามที่ผู้ใช้คลิกXที่หน้าต่างนั้นจะไม่ปิด แต่คุณยังสามารถปิดได้ (โดยไม่ต้อง แค่ฆ่ามัน) ด้วยclose = true; this.Close();

(และเพียงเพื่อให้คำตอบที่สมบูรณ์ของฉัน) ชุดMaximizeBoxและแบบฟอร์มคุณสมบัติMinimizeBoxFalse


5

คลิกขวาที่ฟอร์มที่คุณต้องการซ่อนเลือกตัวควบคุม -> คุณสมบัติ

ในคุณสมบัติให้ตั้งค่า

  • กล่องควบคุม -> เท็จ
  • ย่อกล่อง -> เท็จ
  • กล่องขยายใหญ่สุด -> เท็จ

คุณจะทำสิ่งนี้ในตัวออกแบบ


4

วิธีการย่อรูปแบบเมื่อปิดมีคำตอบแล้ว แต่วิธีการลบปุ่มย่อและขยายไม่ได้
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox:false


3

คุณสามารถปิดใช้งานการขยายขนาดใหญ่สุดภายในตัวสร้างแบบฟอร์ม

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

เพื่อลดเมื่อปิด

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

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

2
โปรดเพิ่มคำอธิบายในคำตอบของคุณ
mechnicov

เพื่อนของฉันมันง่ายมากต้องอ่านรหัสแต่ละบรรทัดเท่านั้น
Mauricio Kenny

บน SO มันเป็นคำตอบคุณภาพต่ำ
mechnicov
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.