2013-07-22 10 views
5

क्या नियम जो मैं फार्म स्क्रॉल करने के लिए सम्मान करने के लिए है ... हैंस्क्रॉल फार्म, AutoScroll = true काम नहीं करता है

मैं सरल सेट संपत्ति AutoScroll सच करने के लिए। मैं भी करने की कोशिश की, जबकि Auto Scroll सच सही/गलत करने के लिए AutoSize स्थापित करने के लिए कुछ भी नहीं है, है, लेकिन इन काम किया ... से कोई भी पैनल डालने की कोशिश की है और वहाँ के सभी घटक जोड़ा ... अभी भी ...

शायद का उपयोग कर V or HScrollBar मदद कर सकते हैं, लेकिन मैं सच में कैसे फार्म से लिंक करने का नहीं पता ...

form.AutoScroll = true; 
formMainLayout.AutoScroll = true; 
rootPanel.AutoScroll = true; 
+0

आपके बच्चे के नियंत्रण फॉर्म से छिपे हुए हैं? –

+0

आपका मतलब है कि 'बाल नियंत्रण' फ़ॉर्म से छिपा हुआ है? यदि आपका मतलब है, तो फॉर्म में यह नियंत्रण है। जोड़ें: rootPanel, rootPanel में फॉर्म हैइनलैआउट, और फॉर्ममेनलैआउट में अन्य सभी नियंत्रण – jovanMeshkov

+0

मेरा मतलब है कि आपका फॉर्म आकार (200,200) है। क्या आपके बच्चे के नियंत्रण में से कोई भी इससे परे मौजूद है? (200,200 से अधिक) –

उत्तर

3

सामग्री स्क्रॉल नियंत्रित करता है। स्क्रॉलबार तब तक प्रकट नहीं होते जब तक कि उनकी आवश्यकता न हो। आम तौर पर, एक ऐसी संपत्ति उपलब्ध होती है जिसे आप हमेशा दृश्यमान होने के लिए मजबूर करने के लिए सेट कर सकते हैं, और आवश्यक होने तक बस अक्षम कर सकते हैं।

AutoScroll संपत्ति true होनी चाहिए, जैसा कि आप पहले ही पा चुके हैं। लेकिन फिर स्क्रोल करने योग्य नियंत्रण की सामग्री को स्क्रॉलबार प्रदर्शित करने के लिए अभिभावक नियंत्रण को मजबूर होना चाहिए। यह हिस्सा माता-पिता के भीतर नियंत्रण कैसे एम्बेड किया जाता है इस पर निर्भर करता है।

इन दो प्रयोगों का प्रयास करें:

  1. प्लेस अपने फार्म पर एक Panel और Fill को यह गोदी। पैनल की संपत्ति true पर सेट करें। उस पैनल में, TextBox रखें और इसे Fill के रूप में डॉक करने के लिए सेट करें। MultiLine से true पर भी सेट करें। एप्लिकेशन चलाएं, और आप देखेंगे कि दोनों का आकार बस उपलब्ध स्थान का उपयोग कर रहा है ... कोई स्क्रॉलिंग नहीं हो सकती है क्योंकि न तो Panel, न ही TextBox उनके द्वारा कब्जा कर लिया गया स्थान से बड़ा हो जाता है।

  2. # 1 में समान कदम उठाएं, लेकिन इस बार, TextBox को डॉक न करें। इसके बजाय, इसे एक बड़े आकार में सेट करें, जो कुछ आप जानते हैं वह Panel की मात्रा से बड़ा होगा जो दिखाई दे रहा है। एप्लिकेशन को चलाने से अब स्क्रॉलिंग Panel उत्पन्न होनी चाहिए।

उम्मीद है कि यह छोटा परीक्षण किसी फॉर्म पर स्क्रॉल को नियंत्रित करने में सक्षम होने में सहायता करता है।

+0

क्षमा करें, लेकिन मुझे यकीन नहीं है कि "फ़ॉर्म स्वयं स्क्रोल करने योग्य नियंत्रण नहीं है" के साथ आपका क्या मतलब है। यह फ़ॉर्म किसी भी अन्य नियंत्रण के रूप में स्क्रॉल करने योग्य है: ऑटोस्कोल + शर्तों को पूरा किया गया है (सीमाओं के बाहर निहित नियंत्रण) या इसमें vscrollbar/hscrollbar। साथ ही, मैं इस सवाल का जवाब देने के लिए जो कहता हूं, उसके वास्तविक/प्रत्यक्ष प्रयोज्यता के बारे में मुझे भी यकीन नहीं है "जब मैं ऑटोस्क्रॉल को सत्य पर सेट करता हूं तो मुझे बार नहीं दिखता है?"। – varocarbas

+1

@ वाराकारबास आपका बिंदु अच्छी तरह से लिया गया है। मैंने अपने जवाब के उस हिस्से को हटा दिया है। आपकी टिप्पणी के बाद के हिस्से के संबंध में, यह सवाल है कि मैं इसका जवाब देने का प्रयास कर रहा हूं: "नियमों को स्क्रॉल करने योग्य बनाने के लिए मुझे कौन से नियमों का सम्मान करना है"। – DonBoitnott

+0

धन्यवाद। सबकुछ अब स्पष्ट है। – varocarbas

0

AutoScroll संपत्ति ठीक काम करना चाहिए, लेकिन सबसे अधिक संभावना है आप इसे सही उपयोग नहीं कर रहे: बार केवल जब प्रकट होता है की आवश्यकता है। उदाहरण: Form का न्यूनतम वाई 0 है और इसमें से किसी एक नियंत्रण में से एक (TextBox) -20 है।

यदि आप स्क्रॉल बार शामिल करना चाहते हैं तो कोई फर्क नहीं पड़ता कि (फॉर्म की सीमाओं के अंदर नियंत्रण या नहीं), आप यह भी कर सकते हैं। एक ऊर्ध्वाधर स्क्रॉल पट्टी के लिए नमूना कोड (from MSDN):

// Create and initialize a VScrollBar. 
VScrollBar vScrollBar1 = new VScrollBar(); 

// Dock the scroll bar to the right side of the form. 
vScrollBar1.Dock = DockStyle.Right; 

// Add the scroll bar to the form. 
Controls.Add(vScrollBar1); 
3

मैं भी एक ही समस्या हो रही थी, मैं इसे ठीक करने में कामयाब रहे ... सभी पैनल के अंदर बच्चे को नियंत्रण & सही लंगर एक छोड़ दिया था, और जब मैं केवल शीर्ष करने के लिए लंगर निर्धारित करते हैं, स्क्रॉलबार जहां ठीक काम कर रहे हैं।

मैं क्यों वाम और सही (बच्चे नियंत्रण के) लंगर पैनल बलों स्क्रॉलबार को दिखाने के लिए नहीं करने के लिए के रूप में यकीन नहीं है।

लेकिन वैसे भी ... उम्मीद है कि यह इस तिथि के रूप में किसी की भी मदद करेगा।

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