[ad_1]
नमस्ते, मुझे एक बटन बनाने की ज़रूरत है जिसका उपयोग किसी लेबल ऑब्जेक्ट को छिपाने या फिर से प्रकट करने के लिए किया जाता है।
इसलिए मुझे बटन की आवश्यकता है जिसे दबाने पर स्विच की तरह अंदर आ जाए और लेबल गायब हो जाए और जब दोबारा दबाया जाए तो ऊपर उठे और लेबल दिखाई दे।
कोई विचार है कि टॉगल बटन कैसे बनाया जाए?
समाधान 2
आप इस उद्देश्य के लिए चेकबॉक्स का उपयोग कर सकते हैं।
आप क्लिक इवेंट हैंडलर में एक साधारण (पुश) बटन का भी उपयोग कर सकते हैं, बस टॉगल करें Visible
लेबल की संपत्ति:
myLabel.Visible = Not myLabel.Visible
समाधान 3
टॉगल-बटन एक साधारण बटन से अधिक कुछ नहीं है
एक मान पूछता है (उदाहरण के लिए क्या यह बूलियन सत्य है)
और उसके बाद एक सरल if(boolean == true) यह करें अन्यथा वह करें
boolean boo = false; buttonPressed() { if(boo == true) { boo = false; doSomething.Visible = true; } else { boo = true; doSomething.Visible = false; } }
समाधान 4
बस इस कोड का उपयोग करें
checkBox.Appearance = System.Windows.Forms.Appearance.Button
समाधान 5
मुझे यह कहीं से मिला और यह आकर्षण की तरह काम करता है!!!
1. वीएस में प्रोजेक्ट पर राइट क्लिक करें और ‘जोड़ें’ फिर ‘उपयोगकर्ता नियंत्रण…’ चुनें।
2. अपनी नई फ़ाइल को “Toggle.vb” नाम दें
3. नीचे दिए गए कोड को चिपकाएँ (कृपया चरण 4 पर ध्यान दें):
वीबी.नेट
आयात प्रणाली.ड्राइंग
आयात प्रणाली.ड्राइंग
आयात System.Drawing.Drawing2D
आयात सिस्टम.विंडोज.फॉर्म
पब्लिक क्लास टॉगल
System.Windows.Forms.UserControl को विरासत में मिला है
निजी _बूलियन के रूप में जांचा गया
सार्वजनिक संपत्ति की बूलियन के रूप में जाँच की गई
पाना
वापसी _चेक किया गया
समाप्त प्राप्त करें
सेट करें (बायवैल वैल्यू बूलियन के रूप में)
यदि _चेक नहीं किया गया है। बराबर(मान) तो
_चेक किया गया = मान
मैं.ऑनचेक्डचेंज्ड()
अगर अंत
अंत सेट
अंत संपत्ति
संरक्षित ओवररिडेबल सब ऑनचेक्डचेंज्ड()
RaiseEvent चेक किया गया बदला गया (मैं, इवेंटArgs.खाली)
अंत उप
सार्वजनिक इवेंट चेक किया गया (ऑब्जेक्ट के रूप में बायवैल प्रेषक, इवेंटआर्ग के रूप में बायवैल प्रेषक)
संरक्षित ओवरराइड सब ऑनमाउसक्लिक(ई माउसइवेंटआर्ग के रूप में)
मैं.चेक किया गया = मैं नहीं.चेक किया गया
मैं.अमान्य()
MyBase.OnMouseClick(e)
अंत उप
संरक्षित ओवरराइड्स सब ऑनपेंट(बायवैल ई एज़ पेंटइवेंटआर्ग्स)
मैं.ऑनपेंटबैकग्राउंड(ई)
ई.ग्राफिक्स.स्मूथिंगमोड = स्मूथिंगमोड.एंटीअलियास
पथ का उपयोग करना = नया ग्राफ़िक्सपाथ()
डिम डी = पैडिंग.ऑल
डिम आर = मी.ऊंचाई – 2 * डी
पथ.AddArc(डी, डी, आर, आर, 90, 180)
पथ.ऐडआर्क(मी.चौड़ाई – आर – डी, डी, आर, आर, -90, 180)
पथ.बंद करेंचित्र()
ई.ग्राफिक्स.फ़िलपाथ (यदि (चेक किया गया, ब्रश.डार्कग्रे, ब्रश.लाइटग्रे), पथ)
आर = ऊंचाई – 1
डिम रेक्ट = यदि (चेक किया गया, नया सिस्टम.ड्राइंग.आयत(चौड़ाई – आर – 1, 0, आर, आर), नया सिस्टम.ड्राइंग.आयत(0, 0, आर, आर))
ई.ग्राफिक्स.फ़िलएलिप्से(यदि(चेक किया गया, ब्रश.हरा, ब्रश.लाइटस्लेटग्रे), सही)
प्रयोग समाप्त करें
अंत उप
अंत कक्षा
4. अपने फॉर्म पर स्विच करें और अपने ‘टॉगल’ नियंत्रण को टूलबॉक्स से फॉर्म में खींचें (कुछ मामलों में टॉगल बटन टूलबॉक्स पर तुरंत दिखाई नहीं देता है। उस स्थिति में निम्नलिखित पर:
जाओ टूल्स > विकल्प > विंडोज़ फॉर्म डिज़ाइनर > सामान्य
सूची में सबसे नीचे आपको टूलबॉक्स > ऑटोटूलबॉक्सपॉप्युलेट मिलेगा, जो ताज़ा इंस्टॉल पर डिफ़ॉल्ट रूप से गलत है। इसे सत्य पर सेट करें और फिर अपने समाधान का पुनर्निर्माण करें। आपके समाधान में उपयोगकर्ता नियंत्रण स्वचालित रूप से टूलबॉक्स में जोड़ा जाना चाहिए। आपको समाधान भी पुनः लोड करना पड़ सकता है.
यदि आपका उपयोगकर्ता नियंत्रण किसी लाइब्रेरी में है तो आप इसका उपयोग करके इसे अपने टूलबॉक्स में जोड़ सकते हैं
टूलबॉक्स -> राइट क्लिक करें -> आइटम चुनें -> ब्राउज़ करें
उपयोगकर्ता नियंत्रण के साथ अपनी असेंबली का चयन करें।
5. आकार और सेटिंग्स को मानक नियंत्रण की तरह बदला जा सकता है
6. टॉगल क्लास की ऑनपेंट पद्धति में रंग बदले जा सकते हैं
सी# कोड:
System.Drawing का उपयोग करना;
System.Drawing.Drawing2D का उपयोग करना;
System.Windows.Forms का उपयोग करना;
नेमस्पेस आपका_प्रोजेक्ट_नाम
{
क्लास टॉगल: चेकबॉक्स
{
सार्वजनिक टॉगल()
{
SetStyle(ControlStyles.UserPaint | ControlStyles.AllPaintingInWmPaint, true);
पैडिंग = नया पैडिंग(6);
}
संरक्षित ओवरराइड शून्य ऑनपेंट(पेंटइवेंटआर्ग्स ई)
{
this.OnPaintBackground(e);
ई.ग्राफिक्स.स्मूथिंगमोड = स्मूथिंगमोड.एंटीअलियास;
(var पथ = नया ग्राफ़िक्सपाथ()) का उपयोग करना
{
var d = पैडिंग.ऑल;
var r = यह.ऊंचाई – 2 * d;
पथ.AddArc(डी, डी, आर, आर, 90, 180);
पथ.ऐडआर्क(यह.चौड़ाई – आर – डी, डी, आर, आर, -90, 180);
पथ.बंद करेंचित्र();
e.Graphics.FillPath(चेक किया गया? ब्रश.डार्कग्रे : ब्रशेज.लाइटग्रे, पथ);
आर = ऊंचाई – 1;
var rect = जाँच किया गया? नया सिस्टम.ड्राइंग.आयत(चौड़ाई – आर – 1, 0, आर, आर)
: नया सिस्टम.ड्राइंग.रेक्टेंगल(0, 0, आर, आर);
ई.ग्राफिक्स.फ़िलएलिप्से(चेक किया गया? ब्रश.हरा: ब्रश.लाइटस्लेटग्रे, रेक्ट);
}
}
}
}
नीचे मूल स्रोत का लिंक है:
समाधान 1
इस लिंक को देखें आपको आइडिया मिल जाएगा
[ad_2]
コメント