रन टाइम में मैं बोल्डबॉक्स के टेक्स्ट को बोल्ड कैसे सेट करूं?


98

मैं विंडोज फॉर्म का उपयोग कर रहा हूं और मेरे पास एक टेक्स्टबॉक्स है जिसे मैं कभी-कभी टेक्स्ट को बोल्ड बनाना चाहता हूं अगर यह एक निश्चित मूल्य है।

मैं रन समय में फ़ॉन्ट विशेषताओं को कैसे बदलूं?

मैं देख रहा हूं कि टेक्स्टबॉक्स 1 नाम की एक संपत्ति है। फ़ॉंट। लेकिन यह केवल एक संपत्ति है।

जवाबों:


181

फ़ॉन्ट की बोल्ड संपत्ति ही पढ़ी जाती है, लेकिन टेक्स्ट बॉक्स की वास्तविक फ़ॉन्ट संपत्ति नहीं है। आप टेक्स्ट बॉक्स के फॉन्ट को निम्नानुसार बदल सकते हैं:

  textBox1.Font = new Font(textBox1.Font, FontStyle.Bold);

और फिर वापस फिर से:

  textBox1.Font = new Font(textBox1.Font, FontStyle.Regular);

1
धन्यवाद! वाह, मैं कल्पना की तुलना में बहुत आसान था। तो मुझे लगता है कि इसका मतलब है कि एक फ़ॉन्ट एक स्ट्रिंग की तरह है, एक बार जब आप इसे बनाते हैं, तो आप इसे बदल नहीं सकते हैं। आप केवल इसका एक नया उदाहरण घोषित कर सकते हैं।
डिस्कड्राइव

2
हाँ, यह एक बार निर्मित राज्य को बदलने में सक्षम नहीं होने के संदर्भ में स्ट्रिंग की तरह व्यवहार करता प्रतीत होता है अर्थात यह अपरिवर्तनीय है । हालाँकि, हालांकि MSDN लेख हैं जो फ़ॉन्ट के अपरिवर्तनीय होने का संदर्भ देते हैं, फ़ॉन्ट के लिए वास्तविक संदर्भ स्वयं यह नहीं बताता है।
टिम लॉयड

एक लिंकबटन के लिए इसने मेरे लिए काम किया: बटन।फोंट.बोल = सच
18

क्या आंशिक पाठ के लिए भी ऐसा ही किया जा सकता है? मेरा मतलब है कि मैं पाठ के एक हिस्से को उजागर करना चाहता हूं।
अनिल

3

आपके आवेदन के आधार पर, आप शायद टेक्स्ट बदलाव पर उस फ़ॉन्ट असाइनमेंट का उपयोग करना चाहते हैं या प्रश्न में टेक्स्टबॉक्स का फोकस / अनफ़ोकस करेंगे।

यहां एक त्वरित नमूना है कि यह कैसा दिख सकता है (खाली रूप, बस एक टेक्स्टबॉक्स के साथ। फ़ॉन्ट तब बोल्ड हो जाता है जब पाठ 'बोल्ड', केस-इनसेंसिटिव पढ़ता है):

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();
        RegisterEvents();
    }

    private void RegisterEvents()
    {
        _tboTest.TextChanged += new EventHandler(TboTest_TextChanged);
    }

    private void TboTest_TextChanged(object sender, EventArgs e)
    {
        // Change the text to bold on specified condition
        if (_tboTest.Text.Equals("Bold", StringComparison.OrdinalIgnoreCase))
        {
            _tboTest.Font = new Font(_tboTest.Font, FontStyle.Bold);
        }
        else
        {
            _tboTest.Font = new Font(_tboTest.Font, FontStyle.Regular);
        }
    }
}

1

आप उपयोग कर सकते हैं Extension नीचे के रूप में रेगुलर स्टाइल और बोल्ड स्टाइल के बीच स्विच करने के विधि का :

static class Helper
    {
        public static void SwtichToBoldRegular(this TextBox c)
        {
            if (c.Font.Style!= FontStyle.Bold)
                c.Font = new Font(c.Font, FontStyle.Bold);
            else
                c.Font = new Font(c.Font, FontStyle.Regular);
        }
    }

और उपयोग:

textBox1.SwtichToBoldRegular();

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.