2012-05-31 14 views
5

विंडोज फॉर्म प्रोजेक्ट, केवल डिजाइनर (यानी माउस के साथ, संकलन से पहले) में काम कर रहा है। मेरे पास एक फॉर्म और 2 पैनल हैं। पैनल 1 को फॉर्म 1 में डॉक किया गया है (विकल्प - भरें)। पैनल 2 को फॉर्म 1 में भी डॉक किया गया है (भरें)। इसके अलावा, पैनल 2 पैनल 1 के सामने है (बाद वाला पूर्व के पीछे छिपा हुआ है)। मेरी समस्या यह है - जब मैं पैनल 2 को अनदेखा करता हूं और इसे फिर से डॉक करता हूं - यह पैनल 1 में डॉक्स करता है (पैनल 1 यह माता-पिता बन जाता है) और फॉर्म 1 में नहीं। मैं पैनल 2 के अभिभावक को कैसे बदल सकता हूं?सी # पैनल डॉकिंग समस्या

एकमात्र समाधान जिसे मैंने अभी तक निकाला है, काटने (ctrl + x) पैनल 2, फॉर्म 1 का चयन करना और फिर पेस्ट करना (ctrl + v) पैनल 2 है, लेकिन यह किसी कारण से पैनल 2 नियंत्रण और कोड के बीच सभी कनेक्शन हटा देता है (उदाहरण के लिए पैनल 2 पर बटन पर क्लिक करने से अब और काम नहीं आता है, हालांकि घटना को संभालने वाला फ़ंक्शन अभी भी है)।

कोई बेहतर विचार?

+2

आप Panel1 अनडॉक सकता है, तो Form1 पृष्ठभूमि पर पैनल दो के लिए कदम Panel1 से बाहर:

दस्तावेज़ को रेखांकित खिड़की कुछ इस तरह लग रहा है। मैंने इसके साथ भी संघर्ष किया है। यह हमेशा मेरे काम के आसपास था, मैंने यह भी पाया कि इसे काटने और पेस्ट करने से बहुत सारे हेडैच होते हैं। इसे डिज़ाइनर फ़ाइल –

+0

@ K'Leg का उपयोग करके कोड में भी ठीक किया जा सकता है, यह मेरे लिए एक वैध और सही उत्तर जैसा दिखता है .. – gbianchi

+0

@gbianchi धन्यवाद, मैंने इसे अभी उत्तर के रूप में रखा है, मुझे यह करना शुरू करना चाहिए पहली जगह में। –

उत्तर

6

क्लिपबोर्ड पर ईवेंट कंट्रोलर्स को अलग करने के साथ कोड को कंट्रोल में भी तय किया जा सकता है, ताकि डिज़ाइनर में कट और पेस्ट से दूर रहना सर्वोत्तम हो।

चूंकि आप डिज़ाइनर का उपयोग कर रहे हैं, तो दृश्य स्टूडियो में View - Other Windows मेनू से Document Outline फ़ॉर्म खोलें। नियंत्रण के पैरेंट या डॉकिंग ऑर्डर को सही तरीके से सेट करने के लिए तीर बटन का उपयोग करें।

enter image description here

0

जब आप डॉक बदलते हैं तो पैनल माता-पिता को नहीं बदल सकता !!! या मैं वास्तव में आपकी समस्या का सामना नहीं करता हूं।

लेकिन ... यदि आप माता-पिता को बदलना चाहते हैं। बस पैनल के नियंत्रण की सूची के पैनल को हटा दें और इसे फॉर्म के नियंत्रण की सूची में जोड़ें।

yourPanel.Controls.Remove(yourOtherPanel); 
yourForm.Controls.Add(yourOtherPanel); 
yourOtherPanel.Dock = .....; 
+0

उपयोगकर्ता केवल डिजाइनर का उपयोग कर रहा है .. कोड की तरह दिखता है .. – gbianchi

+0

फॉर्म 1_लोड पर उदाहरण के लिए अभिभावक को बदलने के लिए अतिरिक्त कोड जोड़ना एक वर्कअराउंड (और एक बदसूरत वाला, क्योंकि यह अंतिम उत्पाद में रहता है) जैसा लगता है। इसके लिए: "जब आप डॉक बदलते हैं तो पैनल अभिभावक को नहीं बदल सकता !!!" जाहिर है, यह कर सकते हैं। मुझे लगता है कि यह उन नियंत्रणों पर निर्भर करता है जो पैनल के नीचे रखे गए हैं (अन) डॉकिंग। – NPS

+0

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

1

लगता है कि लोग मेरी टिप्पणी की जवाब पसंद आया तो मैं इसे यहाँ एक जवाब के रूप डाल रहा

आप Panel1 अनडॉक सकता है, तो Form1 पृष्ठभूमि पर पैनल दो के लिए कदम Panel1 से बाहर। मैंने इसके साथ भी संघर्ष किया है। यह हमेशा मेरे काम के आसपास था, मैंने यह भी पाया कि इसे काटने और पेस्ट करने से बहुत सारे हेडैच होते हैं। इसे डिज़ाइनर फ़ाइल

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