लिस्टबॉक्स कंट्रोल क्या है? एवं उपयोग | वी. बी. डॉट नेट के लिस्टबॉक्स कंट्रोल | Listbox Control In Vb.Net In Hindi
लिस्टबॉक्स कंट्रोल – लिस्टबॉक्स कंट्रोल की सहायता से हम एक ही तरह के कई अवयवों को एक सूची में सूचीबद्ध करते हैं ताकि उपयोगकर्त्ता उन्हीं अवयवों के सीमित विकल्पों में से चयन कर सकें। सूची लम्बी होने की स्थिति में स्क्रॉल बार को जोड़ा जा सकता। है ताकि सूची को ठीक से ब्राउज किया जा सके। सूची में हम एक या एक से अधिक आइटमों का चयन कर सकते हैं। लिस्टबॉक्स को ऐप्लीकेशन के अनुसार कस्टमाइज करने के लिए कई प्रॉपर्टी हैं जिन्हें समझना आवश्यक है।
1. लिस्टबॉक्स कंट्रोल के मुख्य प्रॉपर्टी (Main Properties of ListBox Control)
इस खण्ड में वी. बी. डॉट नेट के लिस्टबॉक्स कंट्रोल के प्रॉपर्टी के बारे में जानते हैं । इनमें कुछ प्रॉपर्टी ऐसे हैं जो आप डिजायन समय में प्रॉपर्टीज़ विण्डो के माध्यम से सेट कर सकते हैं । तथा कुछ जो प्रॉपर्टीज़ विण्डो में प्रकट नहीं होते हैं उनहें रन समय में कोड के माध्यम से सेट कर सकते हैं। हालांकि सभी प्रॉपर्टी को प्रोग्राम के माध्यम से कोड लिख कर सेट किया जा सकता है।
BorderStyle – लिस्टबॉक्स के चारों ओर बनने वाले बॉर्डर के प्रकार को सेट करता है। आप BorderStyle प्रॉपर्टी में Fixed3D, FixedSingle तथा None सेट कर क्रमशः त्रि-विमीय बॉर्डर, सिंगल लाइन बॉर्डर तथा बॉर्डर रहित लिस्टबॉक्स बना सकते हैं। |
ColoumWidth – कॉलम की चौड़ाई को सेट करता है। इसकी आवश्यकता तब होती है जब हम एक से अधिक कॉलम की सूची बना रहे हैं। |
ContextMenuStrip – लिस्टबॉक्स के साथ जुड़े ContextMenuStrip को सेट करता है। |
DataSource – लिस्ट कंट्रोल के लिए डाटा सोर्स को सेट करता है या उसके बारे में बताता है। |
DisplayMember – लिस्टबॉक्स में ऑब्जेक्ट के किस प्रोपर्टी को दर्शायें यह दिखाता है। |
DrawMode – लिस्टबॉक्स के लिए ड्राईंग मोड को सेट करता है। जब यह Normal सेट होता है तो कंट्रोल के सभी अवयव ऑपरेटिंग सिस्टम के द्वारा बनाये जाते हैं तथा एक ही आकार के होते हैं। OwnerDraw Fixed सेट होने की स्थिति में सभी अवयव मैनुअली बनाए जाते हैं तथा समान आकार के होते हैं। OwnerDraw Variable सेट होने पर कंट्रोल के सभी अवयव मैनुअल ढंग से बनते हैं तथा आकार में अलग होते हैं। |
FormatInfo – यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में नया जोड़ा गया है। यह IFormatProvider सेट करता है जो कस्टम फॉरमेटिंग आचरण (behavior) उपलब्ध कराता है। |
FormatString – यह प्रॉपर्टी डॉट नेट फ्रेमवर्क संस्करण 2.0 में नया जोड़ा गया है। यह उन फॉरमेट स्पेसिफायर अक्षरों (Format Specifier Characters) को सेट करता है जो यह निर्दिष्ट करता है कि मान कैसे डिस्प्ले हो। |
FormattingEnabled – यह प्रॉपर्टी उस मान को सेट करता है जो यह बताता है कि फॉरमेटिंग लिस्टकंट्रोल के DisplayMember पर लागू होगा अथवा नहीं। |
HorizontalExtent – लिस्टबॉक्स क्षैतिज स्क्रॉलबार से कितना स्क्रॉल करेगा, यह सेट करता है। |
HorizontalScorollbar – लिस्टबॉक्स में क्षैतिज स्क्रॉल बार होगा अथवा नहीं, यह सेट करता है। |
IntegralHeight – लिस्टबॉक्स के आकार में बदलाव हो सके ताकि यह आइटम को पूरा दिखा सके, इसको सेट करता है। यदि यह सत्य (True) सेट है तो कंट्रोल अपने आकार में बदलाव कर सकता है ताकि यह पूरा पूरा आइटम डिस्प्ले कर सके। यदि False सेट है तो लिस्टबॉक्स के आइटम आंशिक रूप से डिस्प्ले हो सकते हैं। इसका डिफॉल्ट True होता है। |
ItemHeight – लिस्टबॉक्स में किसी अवयव (Item) की ऊँचाई को सेट करता है। |
Items – लिस्टबॉक्स में से आइटमों को जोड़ने या हटाने में होता है। |
MultiColumn – सूची में एक ही कॉलम होंगे या एक से अधिक कॉलम होंगे यह सेट करता है। |
PreferredHeight – लिस्टबॉक्स में सभी आइटमों की कुल ऊँचाई लौटाता है। |
ScrollAlways Visible – उदग्र स्क्रॉल बार हमेशा दिखेगा या नहीं यह सेट करता है। |
SelectedIndex – लिस्टबॉक्स के अभी के चयनित (currently selected) आइटम पर इंडेक्स सेट करता है। |
SelectedIndices – एक संकलन प्रदान करता है जिसमें लिस्टबॉक्स के सभी चयनित आइटमों के इंडेक्स होते हैं। |
SelectedItem – लिस्टबॉक्स में बाई डिफॉल्ट चयनित आइटम को सेट करता है। |
SelectedItems – एक संकलन प्रदान करता है जिसमें लिस्टबॉक्स के सभी चयनित आइटम होते हैं। |
SelectionMode – लिस्टबॉक्स के आइटमों के चयन की विधि को सेट करता है। |
Sorted – लिस्टबॉक्स के अवयव वर्णमाला क्रम (alphabetic order) या बढ़ते हुए (ascending order) क्रम में होंगे या नहीं यह सेट करता है। |
TopIndex – लिस्टबॉक्स के पहले दृश्य आइटम के इंडेक्स को सेट करता है। |
विजुअल बेसिक में लिस्टबॉक्स कंट्रोल क्या है? | डीआईआर लिस्टबॉक्स कंट्रोल का उपयोग क्या है? | Types Of List Box Control
2. लिस्टबॉक्स कंट्रोल के मेथड (Methods of ListBox Control)
इस खण्ड में वी. बी. डॉट नेट के लिस्टबॉक्स कंट्रोल के प्रमुख मेथड के बारे में जानते हैं ।
Begin Update – BeginUpdate लिस्टबॉक्स में एक-एक आइटम को जोड़ने के दौरान मेनटेनेन्स कार्य करता |
है फलस्वरूप कंट्रोल को तब तक ड्रॉ करने से रोकता है जब तक कि EndUpdate मेथड कॉल न हो। |
ClearSelected – लिस्टबॉक्स के सभी आइटमों के चयन को निरस्त करता है। |
DoDragDrop – ड्रैग ड्रॉप ऑपरेशन को शुरू करता है। |
EndUpdate – लिस्टबॉक्स के विजुअल अपडेटिंग को पुनः शुरू करता है। |
FindString – लिस्टबॉक्स में एक विशेष स्ट्रिंग से शुरू होने वाले पहले आइटम को ढूँढता है। |
FindStringExact – लिस्टबॉक्स में सबसे पहले उस आइटम को ढूँढता है, जो विशेष स्ट्रिंग से पूरा पूरा मिलता है। |
GetItemHeight – लिस्टबॉक्स के आइटम की ऊँचाई लौटाता है। |
GetSelected – उल्लेख किया गया आइटम चयनित है अथवा नहीं इसका सूचक मान लौटाता है। यदि उल्लेख किया गया आइटम चयनित है तो यह मान True होता है अन्यथा False होता है । |
IndexFormPoint – दिये गये कॉर्डिनेटस् (coordinates) पर आइटम का इंडेक्स लौटाता है। |
SetSelected – लिस्टबॉक्स में उल्लेखित आइटम का चयन या आचयन करता है। |
3. लिस्टबॉक्स कंट्रोल के इवेण्ट (Events of ListBox Control)
इस खण्ड में वी. बी. डॉट नेट के लिस्टबॉक्स कंट्रोल के प्रमुख इवेण्ट के बारे में जानते हैं ।
SelectedIndexChanged – SelectedIndex प्रोपर्टी के बदलने पर घटित होता है। यह लिस्टबॉक्स का डिफॉल्ट इवेण्ट होता है। जब आप लिस्टबॉक्स को क्लिक करते हैं तो कोड डिजायनर में आपको कोड कुछ इस प्रकार दिखेगा
Private Sub ListBox1_SelectedIndex Changed (ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles ListBox1.SelectedIndexChanged
End Sub
4. लिस्टबॉक्स कंट्रोल में डाटा आइटम को डिजायन समय में जोड़ना (Adding Data Items to A ListBox Control At Design Time)
लिस्टबॉक्स में डिजायन समय में डाटा आइटम को जोड़ने के लिये लिस्टबॉक्स के Items प्रॉपर्टी का उपयोग करते हैं। इसके लिए निम्नलिखित पदों का अनुसरण करें-
- लिस्टबॉक्स के Items प्रॉपर्टी को क्लिक करें। ऐसा करने पर String Collection Editor डायलॉग बॉक्स खुलेगा।
- इस डायलॉग बॉक्स में उन आइटमों को टाइप करें जो आप जोड़ना चाहते हैं। एक लाइन में एक ही आइटम टाइप करें तथा दूसरे आइटम को जोड़ने के लिए एन्टर की दबाकर दूसरे लाइन पर आयें और दूसरा आइटम टाइप करें।
- जब आइटम की सूची पूर्ण हो जाये तब OK क्लिक कर String Collection Editor डायलॉग बॉक्स को बन्द कर दें।
- F5 दबाने पर परिणामस्वरूप लिस्टबॉक्स में उन आइटमों की सूची दिखेगी जो आपने String Collection Editor डायलॉग बॉक्स में दिखता है।
5. लिस्टबॉक्स कंट्रोल के डाटा आइटम को डिजायन समय में वर्णमाला क्रम में सजाना ( Arranging Data Items in A ListBox Control)
जब आप लिस्टबॉक्स में डाटा आइटम जोड़ते हैं तो वह उसी क्रम में लिस्टबॉक्स में प्रदर्शित होता है जिस क्रम में आपने उन्हें String Collection Editor डायलॉग बॉक्स में प्रविष्ट किया है। अगर आप चाहें तो इसे वर्णमाला क्रम में सजा सकते हैं। लिस्टबॉक्स के डाटा आइटमों को वर्णमाला क्रम में सजाने के लिए यह करें-
लिस्टबॉक्स के Sorted प्रॉपर्टी को True सेट करें। इसके बाद आप देखेंगे कि आपके द्वारा प्रविष्ट किया गया डाटा आइटम वर्णमाला क्रम में आ गया है।
6. लिस्टबॉक्स कंट्रोल में डाटा आइटमों को डिजाइन समय में हटाना (Removing Data Items From A ListBox Control At Design Time)
लिस्टबॉक्स में डिजाइन समय में डाटा आइटम को हटाने के लिये लिस्टबॉक्स के Items प्रॉपर्टी का ही उपयोग करते हैं। लिस्टबॉक्स में जोड़े गये आइटमों को हटाने के लिये निम्नलिखित पदों का अनुसरण करें-
- लिस्टबॉक्स के Items प्रॉपर्टी को क्लिक करें। ऐसा करने पर String Collection Editor डायलॉग बॉक्स खुलेगा।
- इस डायलॉग बॉक्स में उन आइटमों को देख सकते हैं जो इसमें पहले से प्रविष्ट हैं।
- किसी विशेष आइटम को हटाने के लिये उस आइटम को हटा दें। यदि आप सभी आइटमों को हटाना चाहते हैं तो सभी का चयन करें और मिटा दें। OK क्लिक कर String Collection Editor को बन्द करें।
- F5 दबाने पर परिणामस्वरूप लिस्टबॉक्स में उन आइटमों की सूची अब नहीं दिखेगी।
7. लिस्टबॉक्स कंट्रोल में प्रोग्राम के माध्यम से डाटा आइटम जोड़ना (Adding Data Items to A ListBox Control Programmatically)
लिस्टबॉक्स में डाटा आइटमों को प्रोग्राम के माध्यम से रनटाइम में भी जोड़ा जा सकता है। इसके लिए इसका प्रारूप यह <NameofListbox> Items.Add(“Name Of Items”)
उदाहरण के लिए – ListBox1.Items.Add (“Archana”)
स्टेटमेण्ट आपके लिस्टबॉक्स में Archana को जोड़ देगा। आप जितना चाहें उतना आइटम्स लिस्ट में जोड़ सकते हैं। उदाहरण के लिये ListBox1 में पाँच शहरों के नाम जोड़ने के लिए कोड इस तरह से लिखें-
ListBox1.Items.Add (“Sidhi”)ListBox1.Items. Add (“Rewa”)
ListBox1.Items. Add (“Satna”)
ListBox1.Items. Add (“Jabalpur”)
ListBox1.Items.Add (“Bhopal”)
प्रोग्राम को रन करने पर यह आइटम आपको ListBox1 नाम के लिस्टबॉक्स में दिखेगा।
8. लिस्टबॉक्स कंट्रोल में प्रोग्राम के माध्यम से डाटा आइटम को हटाना (Removing Data Items From A ListBox Control Programmatically)
जब आप लिस्टबॉक्स में कोई आइटम जोड़ते हैं तो वी. बी. डॉट नेट इस लिस्टबॉक्स को एक इन्डेक्स देता है। यह 0 से शुरू होता है। यह इन्डेक्स लिस्टबॉक्स में उस आइटम का स्थान होता है। किसी विशेष आइटम के लिस्टबॉक्स में इन्डेक्स कैसे पता करते हैं इसको दिखाया गया है। लिस्टबॉक्स में किसी एक आइटम को हटाने के लिए हम उस आइटम इन्डेक्स के कमाण्ड से रेफरेन्स देते हैं। किसी एक आइटम को लिस्टबॉक्स से हटाने के लिये यह प्रारूप है-
<Name OfList Box>.Items.Remove At (Index)
उदाहरण के लिये आप पिछले खण्ड में पाँच शहरों के नाम को लिस्टबॉक्स में जोड़े हैं। उसमें Rewa का इंडेक्स 2 है।
यदि आप इसे मिटाना चाहते हैं तो यह कोड लिखना होगा – ListBox1.Items.RemoveAt (2)
यदि आप लिस्टबॉक्स के सभी आइटमों को एक बार में हटाना चाहते हैं तो इसे इस कोड के माध्यम से हटा सकते हैं. ListBox1.Items.Clear ()
नोट : यदि आपने आइटमों को पहले से डिजाइन समय में लिस्टबॉक्स में जोड़ा हुआ है तो वह तब तक लिस्टबॉक्स से नहीं हटते जब तक की आप उन्हें Items प्रॉपर्टी से डिजायन समय में नहीं हटा दें।
आओ अभ्यास करें – 1
एक विण्डोज़ एप्लिकेशन बनाएँ। उसमें एक लिस्टबॉक्स तथा एक टेक्स्टबॉक्स जोड़ें। इस एप्लिकेशन में दस आइटमों को प्रोग्राम के माध्यम से लिस्टबॉक्स में जोड़ें। तथा यूजर के द्वारा किसी आइटम का चयन करने पर उसका इन्डेक्स टेक्स्टबॉक्स पर बताए । इसका इंटरफेस होगा। इसमें जोड़े गये ऑब्जेक्ट उनके प्रॉपर्टी तथा मान का विवरण इस प्रकार है-
ऑब्जेक्ट | प्रॉपर्टी | मान |
फॉर्म | Name | Form1 |
Text | ListBox Demo 1 | |
लिस्टबॉक्स | Name | ListBox1 |
टेक्स्टबॉक्स | Name | Text Box 1 |
ReadOnly | True |
समाधान :
- File मेन्यू को क्लिक करें तथा New Project का चयन करें ।
- New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें।
- Name टेक्स्टबॉक्स में Exercise टाइप करें तथा OK को क्लिक करें । उसके बाद एक नया विण्डोज
फॉर्मस प्रोजेक्ट खुलेगा। - फॉर्म पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से कंट्रोल को जोड़ें। तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें तथा उनहें सजाएँ ।
- फॉर्म को दो बार क्लिक करें और Form_Load इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें-
ListBox1.Items.Add (“Jabalpur”)
ListBox1.Items.Add (“Patna”)
ListBox1.Items.Add(“Chennai”)
ListBox1.Items.Add(“Bangalore”)
ListBox1.Items.Add(“Mumbai”)
ListBox1.Items.Add (“Kohima”)
ListBox1.Items.Add(“Panaji”)
ListBox1.Items.Add(“Bhopal”)
ListBox1.Items.Add(“Kolkata”)
ListBox1.Items.Add (“Lucknow”)
- अब उसके बाद आप लिस्टबॉक्स को दो बार क्लिक करें तथा ListBox1_SelectedIndexChanged इवेण्ट
हैण्डलर के लिए यह कोड लिखें-
Text Box1. Text = ListBox1.SelectedIndex - F5 दबाकर इसे रन करायें। आपको परिणाम मिलेगा।
आओ अभ्यास करें – 2
एक विण्डोज एप्लिकेशन बनायें। उसमें एक लिस्टबॉक्स एक टेक्स्टबॉक्स तथा एक बटन जोड़ें। इस एप्लिकेशन में. आइटमों को Items प्रॉपर्टी के माध्यम से जोड़ें। बटन को क्लिक करने पर टेक्स्टबॉक्स में उस लिस्टबॉक्स के कुल आइटमों की संख्या बताए इसमें जोड़े गये ऑब्जेक्ट उनके प्रॉपर्टी तथा मान का विवरण इस प्रकार है तथा इसका इंटरफेस होगा।
ऑब्जेक्ट | प्रॉपर्टी | मान |
फॉर्म | Name | Form1 |
Text | ListBox Demo 2 | |
लिस्टबॉक्स | Name | ListBox1 |
बटन | Name | BtnCount |
Text | Count Items | |
टेक्स्टबॉक्स | Name | Text Box 1 |
ReadOnly | True |
समाधान :
- File मेन्यू को क्लिक करें तथा New Project का चयन करें । New Project डायलॉग बॉक्स खुलने के पश्चात Templates पेन में Windows Application को क्लिक करें।
- Name टेक्स्टबॉक्स में Exercise टाइप करें तथा OK को क्लिक करें। उसके बाद एक नया विण्डोज फॉर्मस प्रोजेक्ट खुलेगा।
- फॉर्म पर प्रश्न में दिए गए विवरण के अनुसार टूलबॉक्स से कंट्रोल को जोड़ें। तथा प्रश्नानुसार उनके प्रॉपर्टी को सेट करें तथा उनहें सजाएँ।
- फॉर्म को दो बार क्लिक करें और Form1_Load इवेण्ट हैण्डलर के लिए निम्नलिखित कोड लिखें-
ListBox1.Items.Add(“Brijesh Kumar”)
ListBox1.Items.Add(“Sunil Kumar”)
ListBox1.ItemsAdd (“Sarvesh Singh”)
ListBox1.Items.Add(“Durg Pal”)
ListBox1.ItemsAdd (“Nabal Kishor”)
ListBox1.Items.Add(“Lal Krishan”)
ListBox1.ItemsAdd (“Raj Kumar”) - उसके बाद वापस फॉर्म डिजायनर पर लौटें तथा Count Items बटन को दो बार क्लिक करें तथा btnCount_Click इवेण्ट हैण्डलर के लिए यह कोड लिखें-
TextBox1. Text = “Total Items in This ListBox is” & ListBox1.Items.Count
F5 दबाकर कीबोर्ड से इस प्रोग्राम को रन करायें। प्रोग्राम के रन होने पर Count Items को क्लिक करें। ऐसा
करने पर टेक्स्टबॉक्स में आपको Total Items in This ListBox is दिखेगा। आप परिणाम स्क्रीन पर
देखेंगे ।