2011-08-14 24 views
28

मेरे पास कुछ नियंत्रण के साथ WinForms Form है। उनमें से सभी GrouBox नियंत्रण हैं और मैं उन्हें उनके बीच एक लंबवत मार्जिन सेट के साथ ढेर करना चाहता हूं। मैंने Dock संपत्ति को शीर्ष पर सेट किया है और यह उन्हें ठीक से ढेर करता है, लेकिन मार्जिन को अनदेखा करता है (नियंत्रण एक-दूसरे के करीब होते हैं जैसा कि वे हो सकते हैं)।डॉक संपत्ति सेट के साथ भी मार्जिन लागू किया जा सकता है?

क्या इन मार्जिनों को अभी भी लागू किया जा सकता है? असल में, यह नियमित डॉक स्थिति की गणना करेगा (जैसे मार्जिन 0 था) तो मार्जिन लागू करें। क्या ऐसा कुछ संभव है?

दूसरी कोशिश मैंने कोशिश की है FlowLayoutPanelTopDown विकल्प के साथ। हालांकि, मुझे आकार और बाएं/दाएं एंकर मैन्युअल रूप से सेट करने की आवश्यकता है।

क्या इस परिदृश्य को लागू करने का कोई आसान तरीका है या क्या मेरे पास पहले से मौजूद रहना चाहिए?

+3

नियंत्रण डॉक होने पर 'मार्जिन' के बजाय 'पैडिंग' का उपयोग करने का प्रयास करें। –

+1

हां, एफएलपी आवश्यक है। अंतर बनाने के लिए इसके अंदर नियंत्रणों पर मार्जिन प्रॉपर्टी सेट करें। –

उत्तर

9

सेट डॉकिंग प्रॉपर्टी ग्रुपबॉक्स नियंत्रण के बीच आपके पैडिंग गुणों को अनदेखा कर देगी, इसलिए हां, ऐसा करने के लिए आपकी सबसे अच्छी शर्त फ्लो या टेबल पैनल है।

26

प्रत्येक समूह बॉक्स को एक पैनल में रखें, सेट पैनल डॉक प्रॉपर्टी टू टॉप, ग्रुप बॉक्स डॉक प्रॉपर्टी भरने के लिए। फिर पैनलों पर पैडिंग सेट करें।

+6

पैडिंग कुंजी है! कम से कम मेरे मामले में। – Arman

2

प्रत्येक टेक्स्टबॉक्स के बीच डॉक किए गए एक डमी पारदर्शी पैनल को सटीक दूरी के बराबर ऊंचाई के साथ जोड़ें।