Total Pageviews

Sunday, June 19, 2022

सी.शार्प में कंट्रोल्स (Controls in C#)

 

विजुअल स्टूडियो में सी. शार्प या किसी भी प्रोग्रामिंग भाषा के अंतर्गत विजुअल प्रोग्राम्स बनाते समय अंतरापृष्ठ (इंटरफेस) पर प्रयुक्त होने वाले विभिन्न प्रकार के उपकरणों को कंट्रोल कहते हैं। इनके अंतर्गत टेक्स्ट बॉक्स, बटन, लेबल, लिस्टबॉक्स आदि जैसी चीजें आती हैं। प्रोग्राम बन जाने के बाद प्रयोक्ता को ये चीजें ही दिखाई पड़ती हैं, जिनके माध्यम से वह प्रोग्राम को आवश्यक इनपुट और निर्देश देकर आउटपुट प्राप्त करता है।

कंट्रोल एक प्रकार की क्लास है जिसमें विंडोज फॉर्म अनुप्रयोग और वेब अनुप्रयोग को विकसित करने से संबंधित सभी कंट्रोल आ जाते हैं। सभी कंट्रोलों को टूलबॉक्स से लेकर उनका प्रयोग किया जा सकता है। डॉट नेट में अनुप्रयोग विकास के लिए अधिकांश कंट्रोल System.Windows. Forms.Control क्लास से व्युत्पादित किए जाते हैं। यह क्लास कंट्रोलों की प्रकार्यात्मकता को परिभाषित करती है, क्योंकि कंट्रोलों में अधिकांश प्रापर्टियाँ और इवेंट समान होते हैं। (इनमें से कुछ क्लासें तो स्वयं दूसरों के लिए आधार क्लास होती हैं, जैसे: Label और TextBox आधार क्लासें।)

कुछ कंट्रोल जिन्हें कस्टम या यूजर कंट्रोल कहा जाता है दूसरे वर्गों से व्युत्पादित होते हैं। इनके वर्ग का नाम System.Windows.Forms.UserControl है। यह क्लास स्वयं ‘control’ आधार क्लास से व्युत्पादित होती है। यह हमें खुद से कंट्रोलों को बनाने के लिए प्रकार्यात्मकता प्रदान करती है।

प्रोग्राम निर्माण में प्रयुक्त होने वाले कुछ मुख्य कंट्रोल इस प्रकार हैं:

(क) बटन कंट्रोल (The Button Control): Common Control समूह में यह दूसरा कंट्रोल है। इसकी क्लास का नाम बटन है। यह क्लास सीधे-सीधे कंट्रोल क्लास से व्युत्पादित नहीं है, बल्कि यह ‘ButtonBase’ नामक क्लास  से व्युत्पादित है जो कंट्रोल क्लास से व्युत्पादित है। ‘ButtonBase’ नामक क्लास रखने का कारण यह है कि तकनीकी रूप से ‘radio buttons’ और ‘check boxes’ को भी बटन कंट्रोल के अंतर्गत रखते हैं।

      प्राथमिक रूप से बटन कंट्रोल के तीन प्रयोग हैं:

Ø  किसी कथन (state) द्वारा एक डायलॉग को बंद (close) करने हेतु; जैसे: OK या Cancel बटन।

Ø  किसी डायलॉग में दिए गए डाटा के साथ कार्य करने हेतु; जैसे: कोई खोज से संबंधित किसी क्षेत्र को प्रदान करने के बाद Search बटन को क्लिक करना।

Ø  कोई दूसरा डायलॉग खोलने हेतु; जैसे: Help बटन का प्रयोग।

बटन कंट्रोल का उपयोग करने के लिए ड्रैग और ड्राप द्वारा इसे फॉर्म पर लाया जाता है। इसके बाद इसकी आवश्यक प्रापर्टियाँ परिवर्तित करते हैं। अंत में इसे double click करके कोड किया जाता है।

कुछ प्रमुख बटन प्रापर्टियाँ Name, Flatstile (Read/Write), Enabled, Image, Image Align, Size, Text आदि हैं।

(ख)               लेबल और लिंकलेबल कंट्रोल (Label and LinkLabel Controls): विजुअल स्टूडियो डॉट नेट में दो प्रकार के लेबल कंट्रोल पाए जाते हैं, जो भिन्न-भिन्न प्रकार के प्रकार्य करते हैं:

Ø  लेबल (Label): यह standard window label होता है।

Ø  लिंकलेबल (LinkLabel): यह standard label की तरह ही होता है (और इससे व्युत्पादित होता है) किंतु इसके माध्यम से इंटरनेट लिंक या हाइपरलिंक किया जा सकता है।

इनकी प्रमुख प्रॉपर्टियाँ हैं: BorderStyle, DisabledLinkColor, FlatStyle, Image, ImageAlign, LinkArea, LinkColor, Links, Text, TextAlign.

(ग) टेक्स्टबॉक्स और रिच टेक्स्टबॉक्स कंट्रोल (The TextBox and RichTextBox Control): टेक्स्टबॉक्स ऐसा कंट्रोल है जो टेक्स्ट वैल्यू और सांख्यिकीय वैल्यू को डालने एवं प्रदर्शित करने के लिए अंतरापृष्ठ प्रदान करता है। इसके दो प्रकार हैं: TextBox और RichTextBox। ये दोनों ही टेक्स्टबॉक्स नामक क्लास से व्युत्पादित होते हैं जो स्वयं कंट्रोल क्लास से व्युत्पादित होता है।

रिच टेक्स्टबॉक्स में टेक्स्टबॉक्स से अधिक सुविधाएँ दी गई रहती हैं; जैसे: फॉर्मेटिंग (bold, italic, underline), पाठ को प्रदर्शित करने की सुविधा आदि। इसमें प्रयुक्त टेक्स्ट फॉरमेट रिच टेक्स्ट फॉरमेट कहलाता है। 

इनकी मुख्य प्रॉपर्टियाँ CauseValidation, CharacterCasing, MaxLength, Multiline, PasswordChar, ReadOnly, ScrollBars, SelectedText, SelectionLength, WordWrap आदि हैं।

(घ)  रेडियोबटन और चेकबॉक्स कंट्रोल (The RadioButton and CheckBox Controls): जैसा कि पीछे कहा जा चुका है रेडियोबटन और चेकबॉक्स दोनों आधार क्लास बटन कंट्रोल से संबंधित हैं, इनकी रूपाकृति (appearance) और प्रयोग इन्हें बटन से अलग कर देता है।

जब एक से अधिक विकल्पों में से केवल एक का चयन करना होता है तब रेडियोबटन का प्रयोग किया जाता है। एक से अधिक रेडियोबटनों को समूह में करने के लिए ग्रुपबॉक्स कंट्रोल का प्रयोग किया जाता है जिससे कि वे सभी मिलकर एक तार्किक इकाई (logical unit) का निर्माण कर सकें। ग्रुपबॉक्स का उपयोग नहीं करने पर पूरे फॉर्म पर एक समय में केवल एक ही रेडियोबटन का उपयोग किया जा सकता है।

चेक बॉक्सों का प्रयोग तब किया जाता है जब प्रयोगकर्ता को उपलब्ध विकल्पों में से एक से अधिक का चयन करना हो; जैसे: स्नातक के विद्यार्थी द्वारा हिंदी, अंग्रेजी, भूगोल, कला, समाजशास्त्र, अर्थशास्त्र आदि में से केवल तीन विषयों का चयन करना हो तो चेकबॉक्सों का उपयोग किया जाता है।

(ङ)  ग्रुपबॉक्स कंट्रोल (The GroupBox Control): रेडियोबटन या चेकबॉक्सों को साथ-साथ रखने के लिए इसका प्रयोग किया जाता है। एक ग्रुपबॉक्स में आने वाले कंट्रोल साथ-साथ एक फ्रेम में दिखाई पड़ते हैं और तार्किक रूप से एक दूसरे से जुड़ जाते हैं। ग्रुपबॉक्स का प्रयोग करने पर एक समय में एक ग्रुपबॉक्स में केवल रेडियोबटन को चयनित किया जा सकता है। इसके साथ ही साथ एक ग्रुप के लिए एक कैप्शन[1] भी दिया जा सकता है।

(च)  लिस्टबॉक्स और चेक्ड लिस्टबॉक्स कंट्रोल (ListBox and CheckedListBox Controls): लिस्टबॉक्स का प्रयोग strings की लिस्टों को दिखाने के लिए किया जाता है जिनमें से एक या अधिक को एक साथ चयनित किया जा सकता है।

लिस्टबॉक्स क्लास लिस्ट कंट्रोल क्लास से व्युत्पादित होती है। लिस्ट कंट्रोल दो प्रकार के लिस्ट-टाइप कंट्रोलों को आधारभूत प्रकार्यात्मकता प्रदान करता है: लिस्टबॉक्स और कम्बोबॉक्स।

विजुअल स्टूडियो डॉट नेट में प्राप्त होने वाला दूसरा लिस्टबॉक्स चेक्डलिस्टबॉक्स है। यह लिस्टबॉक्स क्लास से व्युत्पादित है। यह strings की लिस्ट को प्रस्तुत करने के साथ-साथ लिस्ट में प्रत्येक मद (item) के लिए एक चेक प्रदान करता है।

इनकी प्रमुख प्रापर्टियाँ SelectIndex, ColumnWidth, Items, Multi Column, SelectedItems, SelectionMode, Sorted, Text, CheckedIndies, Checked-Items, CheckedOnClick, ThreeDCheckBoxes आदि हैं।

(छ)  कम्बोबॉक्स कंट्रोल (The ComboBox Control): कम्बोबॉक्स अनेक कंट्रोलों को संयोजित करता है जो विशेषीकृत रूप से टेक्स्टबॉक्स, बटन और लिस्टबॉक्स से संबंधित होते हैं। इसमें एक समय में केवल एक ही मद (item) को चयनित किया जा सकता है। इसके अतिरिक्त यह संभव होता है कि टेक्स्टबॉक्स भाग में नई प्रयुक्तियों को टाइप किया जा सके।

कम्बोबॉक्स का उपयोग डायलॉग में जगह बचाने के लिए किया जाता है क्योंकि इसमें कम्बोबॉक्स का केवल टेक्स्ट बॉक्स और बटन भाग ही दिखाई पड़ता है।

इसकी मुख्य प्रापर्टियाँ DropDownStyle, DroppedDown, Items, MaxLength, SelectedIndex, SelectedItem, SelectedText, SelectionStrat, Selection-Length, SortedText आदि हैं।

(ज)  लिस्टवियू कंट्रोल (The ListView Control): जिस प्रकार विंडोज में सामान्य फोल्डर, ड्राइव आदि को खोलने पर हमें लिस्टवियू डायलॉग (large icons, details view and so on) प्राप्त होता है; उसी प्रकार लिस्टवियू कंट्रोल विजुअल स्टूडियो डॉट नेट में भी पाया जाता है। इसका प्रयोग तब किया जाता है जब प्रयोगकर्ता को प्रस्तुतिकरण के स्वरूप और प्रकार को विशिष्ट बनाना हो। यह बहुत जटिल होता है। इसमें अनेक प्रापर्टियाँ, इवेंट और मेथड होते हैं।

इसकी प्रमुख प्रापर्टियों में Activation, Alignment, AllowColumn, Reorder, AutoArrange, Checkboxes, GridLines, HeaderStyle, Items, LabelWrap, MultiSelect, Sorting, TopItem आदि हैं।

(झ)  इमेजलिस्ट कंट्रोल (The ImageList Control): इमेजलिस्ट कंट्रोल एक collection प्रदान करता है जिसका उपयोग फॉर्म पर अन्य कंट्रोलों में प्रयुक्त चित्रों को संग्रहीत करने में किया जाता है। इमेजलिस्ट में किसी भी आकार के चित्र को संग्रहीत किया जा सकता है किंतु प्रत्येक कंट्रोल में चित्रों का आकार समान होना चाहिए। अत: लिस्टवियू में बड़े और छोटे चित्रों को प्रदर्शित करने के लिए दो इमेजलिस्ट कंट्रोल की आवश्यकता होगी।

इसे केवल फॉर्म पर नहीं रखा जा सकता। इसलिए इसके नीचे एक ट्रे का प्रयोग किया जाता है।

(ञ)  स्टेटसबार कंट्रोल (The StatusBar Control): सामान्यत: स्टेटस बार का प्रयोग चयनित मद के बारे में hints या तत्काल कार्य (current action) के बारे में सूचना प्रदान करने के लिए किया जाता है। विजुअल स्टूडियो डॉट नेट भी स्टेटसबार प्रदान करता है जिसका प्रयोग टेक्स्ट दिखलाने और इसमें panels जोड़ने आदि के लिए किया जाता है।

(ट)   टैबकंट्रोल (The TabControl ): टैबकंट्रोल किसी डायलॉग को तार्किक भागों में संरचित करने का एक सरल तरीका है जिससे कि उन्हें कंट्रोल के ऊपर से access किया जा सके। टैबकंट्रोल में टैबपेज होते हैं।

ये कंट्रोल टूलबॉक्स में इस प्रकार दिखाई पड़ते हैं-



यहाँ से इन्हें क्लिक करके या ड्रैग और ड्राप द्वारा फॉर्म पर लाया जाता है।

               [1] कैप्शन का अर्थ है: प्रयोक्ता को दिखने वाला नाम।

No comments:

Post a Comment