2012-06-03 22 views
36

मैं एक multilayout मुख्य स्क्रीन आवेदन बनाने के लिए कोशिश कर रहा हूँ अपने कंटेनर का आकार भरें। मेरे पास शीर्ष पर कुछ बटन हैं जो एप्लिकेशन के मुख्य भाग से लिंक करते हैं (उदाहरण के लिए मॉडल में प्रत्येक इकाई के लिए प्रबंधन विंडो)बनाने के लिए WinForms UserControl

इनमें से किसी भी बटन पर क्लिक करने से पैनल में संबंधित UserControl प्रदर्शित होता है। पैनल में UserControls हैं जो बदले में यूआई रखती है।

WinForms UserControl में Anchor या Dock संपत्ति नहीं है। UserControl के

मैं कोशिश की है की स्थापना संपत्ति

AutoSize=True 

और

private void ManageUsersControl_Load(object sender, EventArgs e) 
{ 
     this.Width = this.Parent.Width; 
     this.Width = this.Parent.Height; 
} 

लेकिन इन काम नहीं किया।
नोट: मैं

+4

'UserControl' * करता * एक' Dock' संपत्ति है - यह है कि 'Control' से संपत्ति इनहेरिट करती है। http://msdn.microsoft.com/en-us/library/system.windows.forms.usercontrol.aspx के गुण अनुभाग – MvanGeest

+0

ऊपर बयान एंकर "या" डॉक "संपत्ति" WinForms usercontrol नहीं है "देखें " गलत था। मैं UserControl पर "डॉक" की तलाश में था। यह केवल UserControl में जोड़े गए नियंत्रण (बच्चों) के लिए दिखाई देना चाहिए। – codingbiz

+0

@MvanGeest हाँ यह समझ में आता है, लेकिन यह डिजाइनर संपत्ति ग्रिड में क्यों मौजूद नहीं है? – Steve

उत्तर

68

Fill को Dock संपत्ति सेट करने का प्रयास कार्यावधि में गतिशील रूप से इस पर नियंत्रण लोड:

private void ManageUsersControl_Load(object sender, EventArgs e) 
{ 
     this.Dock = DockStyle.Fill; 
} 

मैं भी डिफ़ॉल्ट AutoSize स्थापित करेगा, मेरा मानना ​​है कि False है। देखें कि यह कैसे काम करता है ...

+3

ओपी से: 'WinForms usercontrol" एंकर "नहीं है या" डॉक "property.' –

+0

@PaulSasik: ओपी शायद गलत था, अन्यथा, यह 'UserControl' नहीं होगा। – Douglas

+2

ठीक है यह वास्तव में मुझे आश्चर्य है। क्या आपको पता है कि यह संपत्ति UserControl designer प्रॉपर्टी ग्रिड में क्यों नहीं है? वैसे, यह रनटाइम में पूरी तरह से काम करता है। – Steve

-1
UserControl1 myusercontrol = new UserControl1(); 
      myusercontrol.Dock = DockStyle.Fill;//Dock Prope. Fill user Control Contrainer 
      TabPage myTabPage = new TabPage();//New Tab Create 
      myTabPage.Text = "Wel-Come Page";//Tab Header Txt 
      myTabPage.Controls.Add(myusercontrol); 
      tabControl1.TabPages.Add(myTabPage); 
-3

आकार बदलने वाले उपयोगकर्ता उपयोगकर्ता नियंत्रण में।

private void MyTextBox_Resize(object sender, EventArgs e) 
     { 
      this.Width = textBox1.Width; 
      this.Height = textBox1.Height; 
     } 
संबंधित मुद्दे