C# में टेक्स्ट के लिए लेबल में दो रंगों का उपयोग कैसे करें


मेरे पास टेक्स्ट वाला एक लेबल है: परियोजना ….इस पाठ में मुझे एक रंग में प्रो और दूसरे रंग में जेक की आवश्यकता है

समाधान 1

आप एक लेबल में केवल एक ही रंग रख सकते हैं।
एक आसान समाधान के रूप में, आप ऐसा करने के लिए दो लेबल (विभिन्न फ़ॉन्ट रंगों के साथ) का उपयोग कर सकते हैं।

एक अधिक जटिल समाधान यह होगा कि आप अपना स्वयं का उपयोगकर्ता नियंत्रण बनाएं।

समाधान 4

एक बार मुझे एक “ग्रेडियंट” लेबल बनाना पड़ा… यह कोड है (विनफॉर्म में काम करता है)

public partial class GradientLabel : Label {

public LabelEx() {
    InitializeComponent();
}

protected override void OnPaint(PaintEventArgs e) {
    Font font = new Font("Tahoma", 48f, FontStyle.Bold);
    LinearGradientBrush brush = new LinearGradientBrush(new Rectangle(0, 0, Width, Height + 5), Color.Gold, Color.Black, LinearGradientMode.Vertical);
    e.Graphics.DrawString(Text, font, brush, 0, 0);
}

}

यह बिल्कुल “दो रंग” नहीं है, लेकिन आपको समाधान की ओर ले जा सकता है।

समाधान 8

एक उपाय. कुछ टेक्स्ट के साथ एक निचला “बटन” बनाएं, फिर इसे अलग-अलग रंगों में कुछ अक्षरों वाले बटनों के साथ ओवरले करते रहें और पारदर्शी पृष्ठभूमि, नीचे “बटन” को ओवरले करते हुए। मैं “बटन” का उपयोग करता हूं क्योंकि वे सभी नकली बटन के आकार की वस्तुएं हैं। केवल शीर्ष स्तर का आइटम ही वास्तविक ‘बटन’ है, जो वास्तव में ऑनक्लिक ईवेंट के बराबर है।

वैसे, यह काफी व्यावहारिक है, इसका उपयोग कुछ प्रकार के फ़िशिंग घोटालों में किया जाता है – वास्तविक वेबसाइट डेटा को पारदर्शी नियंत्रणों के साथ ओवरले करना जो इनपुट स्वीकार करते हैं, इसे स्कैमर्स को वापस भेजते हैं, और फिर या तो एक त्रुटि की रिपोर्ट करते हैं (पर जा रहे हैं) पुनः प्रवेश के लिए वास्तविक पृष्ठ) या यहां तक ​​कि अदृश्य परत के हटते ही पाठ को वास्तविक स्क्रीन में दर्ज करना।

समाधान 9

मैं आपको रिचटेक्स्टबॉक्स का उपयोग करने का सुझाव दूंगा, यह एक मानक घटक है और इसे रीडओनली को सत्य पर सेट करके और HideCaret का उपयोग करके एक लेबल के रूप में उपयोग किया जा सकता है (यहां देखें: https://stackoverflow.com/questions/582312/how-to-hide-the-caret-in-a-richtextbox[^] उदाहरण के लिए)

समाधान 2

टेक्स्ट प्रॉपर्टी को html टेक्स्ट की तरह सेट करने का प्रयास करें

lbl.Text="<span style="color:Red;">Pro</span><span><span style="color:Green;">ject</span>";
</span>

एएसपीएक्स फॉर्म के पिछले सिरे से।

コメント

タイトルとURLをコピーしました