2010-06-11 13 views
76

WinForms के ऊपरी दाएं कोने में उन तीन बक्से हैं जो फ़ॉर्म को कम करें, अधिकतम करें और बंद करें। मैं जो करना चाहता हूं वह बंद रखने के दौरान, न्यूनतम और अधिकतम करने के लिए है।WinForm पर न्यूनतम और अधिकतम करने को अक्षम करना?

मैं इसे बंद करने के बजाय फॉर्म को कम से कम करने के लिए क्या करना चाहता हूं।

यह कैसे किया जा सकता है?

उत्तर

122

Form के गुण दो गुण MinimizeBox और MaximizeBox कहा जाता है, false उन दोनों सेट है।

फॉर्म बंद होने से रोकने के लिए, FormClosing ईवेंट को संभालें, और वहां e.Cancel = true; सेट करें और इसके बाद, फॉर्म को कम करने के लिए WindowState = FormWindowState.Minimized; सेट करें।

+0

आप न सिर्फ गलत पर नियंत्रण बॉक्स सेट किया जा सका। –

+1

@ krystanhonour ओपी हालांकि बंद रखना चाहता था। –

+0

आह उचित मेला :) –

14

FormClosing ईवेंट पर एक हैंडलर बांधें, फिर e.Cancel = true सेट करें, और फॉर्म this.WindowState = FormWindowState.Minimized सेट करें।

आप कभी वास्तव में प्रपत्र बंद करने के लिए, एक वर्ग चौड़ा बूलियन _close और, अपने हैंडलर में, e.Cancel!_close करने के लिए सेट करते हैं, तो यह है कि जब भी उपयोगकर्ता खिड़की पर X क्लिक करता है चाहते हैं, यह बंद नहीं करता है, लेकिन आप अभी भी यह False को close = true; this.Close();

(और बस मेरा उत्तर पूरा करने के लिए) सेट MaximizeBox और MinimizeBox प्रपत्र गुणों के साथ (बस इसे की हत्या के बिना) बंद कर सकते हैं।

1

आप बस फॉर्म कन्स्ट्रक्टर के अंदर अधिकतम अक्षम कर सकते हैं।

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

बंद होने पर कम करने के लिए। गुण> -

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

सही रूप आप उन पर छुपाना चाहते हैं पर क्लिक करें, नियंत्रण चुनें।

गुण में, सेट

  • कंट्रोल बॉक्स -> झूठी
  • कम से कम बॉक्स -> झूठी
  • अधिकतम बॉक्स -> झूठी

आप डिजाइनर में करेंगे।

1

बंद होने पर फ़ॉर्म को कम करने के लिए कैसे करें, लेकिन को कम करें और अधिकतम बटन नहीं था।
FormBorderStyle: FixedDialog
MinimizeBox: false
MaximizeBox: false

संबंधित मुद्दे