यदि आप किसी अन्य पैनल एक फार्म पर एक पैनल बनाते हैं और करने के लिए डॉक = शीर्ष यह सेट और ड्रॉप और सेट अपने डॉक = भरें, यह पूरे फार्म भर सकते हैं, पहले पैनल की अनदेखी । टैब ऑर्डर बदलना कुछ भी नहीं करता है।Panel.Dock भरण अन्य Panel.Dock की स्थापना अनदेखी
उत्तर
डॉकिंग लेआउट ऑब्जेक्ट पर भाई नियंत्रणों पर निर्भर करता है। नियंत्रण "बटन अप" डॉक किए जाते हैं, इसलिए संग्रह में अंतिम नियंत्रण पहले डॉक किया जाता है। एक डॉक कंट्रोल केवल का लेआउट लेता है, पहले डॉक भाई बहनों को खाते में ले जाता है। इसलिए डॉक = भरने के साथ नियंत्रण भाई क्रम में पहला (शीर्ष) होना चाहिए, यदि आप इसे अन्य डॉक किए गए नियंत्रणों को ध्यान में रखना चाहते हैं। यदि यह पहला नियंत्रण नहीं है, तो पहले के नियंत्रण इसे ओवरलैप करेंगे।
यह भ्रमित हो सकता है क्योंकि भाई-आदेश दृश्य क्रम के समान नहीं है, और भाई आदेश डिजाइन दृश्य से हमेशा स्पष्ट नहीं होता है।
दस्तावेज़ रूपरेखा विंडो (देखें -> अन्य विंडोज़ -> दस्तावेज़ रूपरेखा) नियंत्रण पदानुक्रम और क्रम पर उपयोगी पेड़-दृश्य देता है, और आपको नियंत्रण के भाई क्रम को बदलने की अनुमति देता है।
आप संदर्भ मेनू द्वारा सीधे डिजाइनर में भाई आदेश भी बदल सकते हैं -> सामने/पीछे वापस भेजना, जो नियंत्रण को भाई बहनों के पहले या आखिरी स्थान पर ले जाता है। ये मेनू लेबल कुछ हद तक भ्रमित हो सकते हैं क्योंकि वास्तविक प्रभाव लेआउट मॉडल पर निर्भर करता है।
तय तैनात नियंत्रण में, 2 डी स्थिति भाई क्रम से स्वतंत्र है, लेकिन जब नियंत्रण अतिव्यापी हैं, नियंत्रण आदेश में जल्द से जल्द "शीर्ष पर" हो जाएगा, क्रम में बाद में भाई बहन का हिस्सा छुपा। इस संदर्भ में सामने लाने/वापस भेजने के लिए समझ में आता है।
प्रवाह- या तालिका-लेआउट पैनलों के अंदर, निर्माण आदेश नियंत्रण के दृश्य क्रम को निर्धारित करता है। कोई ओवरलैपिंग नियंत्रण नहीं है। तो सामने लाएं/वापस भेजने के लिए वास्तव में नियंत्रण के क्रम में पहला या आखिरी मतलब है।
डॉक किए गए लेआउट के साथ, सामने लाने/वापस भेजने के लिए और भी भ्रमित हो सकता है क्योंकि यह निर्धारित करता है कि डॉकिंग की गणना किस क्रम में की जाती है, इसलिए भरने वाले नियंत्रण पर "सामने लाएं" नियंत्रण में नियंत्रण रखेगा माता-पिता के मध्य, सभी एज-डॉक किए गए नियंत्रणों को ध्यान में रखते हुए।
अधिकार के साथ डॉक = भरें और क्लिक करें पैनल पर क्लिक करें 'सामने लाएं'।
इस जिसके खाते में एक ही कंटेनर में अन्य नियंत्रण पर डॉक सेटिंग लेता है इस पर नियंत्रण पिछले बनाया जा बनाता है।
सरल, आकस्मिक धन, यह वास्तव में कष्टप्रद हो गया था मुझे – smirkingman
भावना बनाता है एक बार आप इसके बारे में सोचते हैं। –
यह जानकर अच्छा लगा, धन्यवाद! – LuckyLuke82
एक और संभावित रूप से क्लीनर विकल्प TableLayout नियंत्रण का प्रयोग है। अपने शीर्ष डॉक के लिए वांछित ऊंचाई की एक पंक्ति सेट करें, और अपनी पंक्ति के लिए 100% भरने के लिए एक और पंक्ति सेट करें। भरने के लिए दोनों पैनलों को सेट करें, और आप कर चुके हैं।
शीर्ष मद (TableLayout कुछ करने के लिए है, हालांकि इस्तेमाल करने लगता है।)
लेआउट प्रदर्शन के लिए डॉकिंग कन्टरोल की तुलना में टेबललाउट भी धीमा है, खासकर अगर आपके पास नेस्टेड उपयोगकर्ता नियंत्रण है जो टेबललेआउट का उपयोग करता है। हालांकि, यह सुनिश्चित करने के लिए एक अच्छा लेआउट पैदा करता है। – Nick
क्या यह प्रदर्शन किसी औसत उपयोगकर्ता को ऊपर वर्णित अनुसार दो पैनलों के साधारण मामले में देखा जाएगा? या क्या ऐसा कुछ है जब वे दर्जनों यूसी हैं, सभी लेआउट के साथ, सभी एक लेआउट में? (विडंबना यह है कि जिस ऐप पर मैं वर्तमान में काम कर रहा हूं वह इस तरह है, और प्रदर्शन ठीक लगता है ...) –
टेबललाइट बहुत हल्का वजन है। यदि आप कुछ नियंत्रण डाल रहे हैं तो आपको प्रदर्शन समस्याएं दिखाई नहीं देगी। – Tim
यहाँ एक चाल है कि मेरे लिए काम किया है ..
प्लेस और यह शीर्ष गोदी।
प्लेस एक स्प्लिटर, और यह भी यह शीर्ष गोदी, तो सेट यह विकलांग (जब तक आप शीर्ष आकार बदलने के लिए चाहते हैं)।
फिर भरें को भरें वस्तु और डॉकिंग सेट रखें। ऑब्जेक्ट स्प्लिटर के नीचे रहेगा।
आपको यह काम करने के लिए एक स्प्लिटर का उपयोग करने की आवश्यकता नहीं है। –
जैक्सबी को दस्तावेज़ रूपरेखा के साथ विचार था लेकिन पदानुक्रम ने मेरी समस्या का समाधान नहीं किया। मेरे नियंत्रण एक पदानुक्रमित शैली में नहीं थे, वे सिर्फ उसी माता-पिता के साथ सूचीबद्ध थे।
मैंने सीखा कि अगर आपने ऑर्डर बदल दिया है तो यह वैसे ही ठीक होगा जिस तरह से आप इसे देखना चाहते हैं।
सूची के नीचे दिए गए नियंत्रण दस्तावेज़ आउटलाइन विंडो में इसके शीर्ष पर नियंत्रण ओवरलैप करेंगे। आपके मामले में आप सुनिश्चित करेंगे कि पहला पैनल दूसरे पैनल के नीचे है और आगे।
मुझे एक ही समस्या है और मैं इसे हल करने में कामयाब रहा।
यदि आपके पास DockStyle.Fill
के साथ एक कंटेनर है तो दूसरों को डॉक स्टाइल भी होना चाहिए लेकिन शीर्ष या जो कुछ भी आप चाहते हैं।
महत्वपूर्ण बात यह है कि पहले नियंत्रण में DockStyle.Fill
के साथ नियंत्रण जोड़ना महत्वपूर्ण है।
उदाहरण:
ComboBox cb = new ComboBox();
cb.Dock = DockStyle.Top;
GridView gv = new GridView();
gv.Dock = DockStyle.Fill;
Controls.Add(gv); // this is okay
Controls.Add(cb);
लेकिन अगर हम डाल सीबी पहले
Controls.Add(cb);
Controls.Add(gv); // gv will overlap the combo box.
मुझे यह बहुत परीक्षण और त्रुटि के बाद मिला। – tzot
आप कोड के अंदर तत्वों का क्रम बदलने के लिए नहीं करना चाहते हैं, तो आप विधि कंटेनर का उपयोग कर सकते हैं। कंटेनर के साथ नियंत्रण। SetChildIndex() उदाहरण के लिए फॉर्म, पैनल इत्यादि। आप अपने नियंत्रण जोड़ना चाहते हैं।
उदाहरण:
//Container ------------------------------------
Panel Container = new Panel();
//Top-Docked Element ---------------------------
ButtonArea = new FlowLayoutPanel();
Container.Controls.Add(ButtonArea);
Container.Controls.SetChildIndex(ButtonArea, 1);
ButtonArea.Dock = DockStyle.Top;
//Fill-Docked Element --------------------------
box = new RichTextBox();
Container.Controls.Add(box);
Container.Controls.SetChildIndex(box, 0); //setting this to 0 does the trick
box.Dock = DockStyle.Fill;
- 1. टेक्स्टव्यू की स्थापना अन्य टेक्स्ट व्यू
- 2. भरण हैश नक्शा
- 3. बिट की स्थापना सवाल
- 4. जावा Xstream - कुछ तत्वों की अनदेखी कैसे
- 5. सूची निर्देशिका, उप निर्देशिका चींटी की अनदेखी
- 6. Git फ़ाइलों की अनदेखी उन्हें हटाने
- 7. iPhone App - पूर्व भरण पाठ
- 8. pygtk की स्थापना
- 9. grunt.js की वैश्विक स्थापना
- 10. की स्थापना रेल QueryString
- 11. की स्थापना वैश्विक
- 12. जावा - classpath की स्थापना
- 13. Wix की स्थापना रद्द करें
- 14. locationInView अनदेखी उन्मुखीकरण
- 15. सापेक्ष लेआउट अनदेखी setMargin()
- 16. Node.js की फ़ाइल-आधारित स्थापना
- 17. तोड़ने बिंदु की स्थापना WinDBG
- 18. कंप्यूटर के डीपीआई की स्थापना
- 19. Postgresql अगले आईडी की स्थापना
- 20. ग्रहण में जेट्टी की स्थापना
- 21. स्फिंक्स-क्विकस्टार्ट की ताजा स्थापना
- 22. की स्थापना/अजगर, SQLAlchemy, SQLite
- 23. प्रोग्राम की स्थापना फ़ील्ड मान
- 24. CMake अनदेखी CMAKE_BUILD_TYPE = डिबग
- 25. Capistrano के साथ नियोजित करना समूह की स्थापना
- 26. System.InvalidOperationException: जबकि एक स्वतः भरण स्तंभ
- 27. एक एमएसआई पैकेज की चुप स्थापना
- 28. मैं सबवर्सन रिपोजिटरी की अनदेखी सेटिंग्स कैसे सूचीबद्ध करूं?
- 29. स्क्रिप्ट उम्मीद + कैसे तार की अनदेखी करने के
- 30. एनकोड HTML निकाय लेकिन HTML टैग की अनदेखी - पीएचपी
मेरे पास एक पैनल, स्टेटस स्ट्रिप और मेन्यू स्ट्रिप एक फॉर्म पर है और ऐसा लगता है कि जब मैं शीर्ष पर मेन्यू स्ट्रिप डॉक करता हूं, नीचे स्टेटस स्ट्रिप करता है, और पैनल भरता है, पैनल बीच में स्थान नहीं भरता है दो स्ट्रिप्स जब तक कि यह पहला भाई नहीं है (दो स्ट्रिप्स के ऊपर दस्तावेज़ रूपरेखा विंडो के शीर्ष पर)। स्ट्रिप्स पर पैनल को नीचे ले जाना ("आखिरी" की तरफ)। तो क्या डॉक = भरना नियंत्रण वास्तव में आदेश में पहला भाई होना चाहिए? क्या मैं यह गलत पढ़ रहा हूँ? मैं 3.5 (2008) का उपयोग कर रहा हूं। क्या यह परिवर्तन हुआ? – jrsconfitto
टीएल; डॉ; डॉक = भरने के साथ पैनल पर राइट क्लिक करें और 'फ्रंट टू फ्रंट' पर क्लिक करें। – kristianp
मेरे पास एक पैनल के अंदर 3 ग्रुपबॉक्स हैं और बस @ जुगलिंगनटकेस की तरह मुझे उन्हें आदेश देना पड़ा था: डॉक.फिल, डॉक.बॉटम और आखिरकार डॉक.ओप के बाद, उन्हें 3 सही ढंग से डॉक करने के लिए। किसी भी मामले में, भयानक पोस्ट! दस्तावेज़ आउटलाइन विंडो के लिए –