2013-02-13 18 views
6

मेरे पास इसे समझाने का कोई बेहतर तरीका नहीं है, लेकिन मैं एक कंटेनर को कार्यान्वित करना चाहता हूं जिसे उपयोगकर्ता ने "उन्नत" या संवाद में कहीं और प्लस साइन पर क्लिक करने के बाद दिखाया है । मेरे पास लॉगिन फॉर्म है और कुछ "उन्नत" सेटिंग्स जोड़ना चाहते हैं। लेकिन उन्हें आम तौर पर देखने से बाहर होना चाहिए।"क्लिक-टू-टू-विस्तार" कंटेनर लागू करें

बेशक, विस्तारित सामग्री को रखने के लिए संवाद को अच्छी तरह से आकार बदलना है।

मुझे ऐसी चीज को लागू करने के लिए कैसे जाना चाहिए। मैंने कुछ Google खोजों का प्रयास किया है, लेकिन सही खोज शब्द नहीं मिल रहे हैं। विंडोज़ डिफ़ॉल्ट रूप से ऐसा प्रतीत नहीं होता है।

+2

इसे एक विस्तारक कहा जाता है। क्या आप डब्ल्यूपीएफ, विनफॉर्म या एएसपी.नेट का उपयोग कर रहे हैं? –

+1

@ डैनियल हिल्गार्थ केवल एक्सपेंडर ऑब्जेक्ट्स दिखाई देने लगते हैं और स्वयं को बढ़ाते हैं - जैसे jQuery UI के Accordion - जहां यह विवरण विस्तारक बटन को अपने माता-पिता को 'विस्तारित' करना चाहता है। –

+3

मुझे नहीं पता कि यह क्यों कम हो रहा है-वोट और वोट बंद करने के लिए। यह एक असली सवाल है, और यह मानते हुए कि वह WinForms से परिचित नहीं है, यह एक बिल्कुल उचित सवाल है। सिर्फ इसलिए कि हम में से कुछ के लिए यह तुच्छ लगता है इसका मतलब यह नहीं है कि यह एक बुरा सवाल है। – David

उत्तर

3

जॉन विल्म्स ने सुझाव दिया, मैंने स्वयं कार्यक्षमता को समाप्त कर दिया। मैंने फॉर्म में Panel जोड़ा जो मैंने अभी दिखाई या अदृश्य सेट किया है। पूरी तरह से

private void linkLabel1_LinkClicked(object sender, 
          LinkLabelLinkClickedEventArgs e) { 
     if (pnlAdvanced.Visible == false) { 
      Height += pnlAdvanced.Height; 
      pnlAdvanced.Visible = true; 
     } else { 
      Height -= pnlAdvanced.Height; 
      pnlAdvanced.Visible = false; 
     } 
    } 

काम करता है और बिना किसी अतिरिक्त कोड की जरूरत:

फार्म के निर्माता में (पहली बार देखने पर इसे छिपाने के लिए):

public FrmLogin() { 
     InitializeComponent(); 

     pnlAdvanced.Visible = false; 
     Height -= pnlAdvanced.Height; 
    } 

फिर, मैं इस Clicked हैंडलर के साथ एक LinkLabel गयी।

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