2012-11-23 6 views
9

किसी कारण से यदि आप फॉर्म की चौड़ाई और ऊंचाई दोनों सेट करते हैं। अधिकतम आकार को शून्य पर सेट करें, तो यह आपको एक अप्रतिबंधित विंडो आकार देगा, हालांकि यदि आप सीमा निर्धारित करना चाहते हैं तो आपको चौड़ाई और ऊंचाई दोनों के लिए यह करना होगा उसी समय। मुझे एक निश्चित चौड़ाई चाहिए लेकिन ऊंचाई पर कोई सीमा नहीं है।क्या एक फॉर्म के लिए अधिकतम चौड़ाई निर्धारित करना संभव है लेकिन अधिकतम ऊंचाई को अप्रतिबंधित छोड़ दें?

// No Limits 
    this.MaximumSize = new Size(0,0); 

    // Form Height will be stuck at 0 
    int ArbitraryWidth = 200; 
    this.MaximumSize = new Size(ArbitraryWidth, 0); 
+0

क्या आपने आकार बदलने की घटनाओं को अवरुद्ध करने और मैन्युअल रूप से फॉर्म के आकार को मजबूर करने के लिए अपनी मनमानी चौड़ाई को पार नहीं किया है? – ose

+0

@ose - हाँ, लेकिन यह थोड़ा बदसूरत लगता है –

+0

दुर्भाग्यपूर्ण वास्तुशिल्प निर्णय => थोड़ा बदसूरत कोड :( – ose

उत्तर

1

यह एक फार्म के लिए अधिकतम चौड़ाई निर्धारित करते हैं लेकिन छोड़ अधिकतम ऊंचाई अप्रतिबंधित करना संभव है?

वास्तव में नहीं। इस प्रकार आप इसे अनुकरण कर सकते हैं:

private void Form1_Resize(object sender, EventArgs e) 
    { 
     SetMaximumWidth(); 
    } 

    private void Form1_Load(object sender, EventArgs e) 
    { 
     SetMaximumWidth(); 
    } 

    private void SetMaximumWidth() 
    { 
     if (Width > 200) 
      Width = 200; 
    } 
15

उपयोग INT_MAX के बाद से है कि सैद्धांतिक सीमा है कि एक Size द्वारा वैसे भी प्रदर्शित किया जा सकता है:

//Max width 200, unlimited height 
this.MaximumSize = new Size(200, int.MaxValue); 
4

मैं सवाल पता कुछ साल पुराना है, लेकिन मैं से मुलाकात की एक ही समस्या और मैंने जो किया वह स्क्रीन के संकल्प में पैरामीटर में से एक को सेट करना था, मानते हुए कि फॉर्म का आकार स्क्रीन के आकार से अधिक नहीं हो सकता है।

this.MaximumSize = new Size(200, Screen.PrimaryScreen.Bounds.Height); 

उम्मीद है कि यह किसी की सहायता करता है।

+0

मेरे लिए काम करता है हालांकि व्यवहार में यह शायद INT_MAX से अलग नहीं है। धन्यवाद! –

+0

इससे मुझे भी मदद मिलती है, धन्यवाद! – Kaitlyn

+1

इससे कारण होगा जब आपका रिज़ॉल्यूशन बदलता है तो समस्याएं। उदाहरण के लिए यदि आप अपने लैपटॉप को किसी प्रोजेक्टर में डेमो के लिए प्लग करते हैं। यह भी विफल रहता है यदि आपका माध्यमिक, तृतीयक, आदि डिस्प्ले आपके प्राथमिक डिस्प्ले से लंबा है और आप फॉर्म को उस डिस्प्ले पर ले जाते हैं, या यदि आपके पास है स्टैक्ड मॉनीटर और इसे कई स्क्रीनों में फैला देना चाहते हैं। – Dan

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