मेरे पास एक ऐसा एप्लिकेशन है जिसका उपयोग टच स्क्रीन सिस्टम पर किया जा रहा है, और इसमें कई बटन हैं जो काफी बड़े (~ 100px वर्ग) हैं।WinForms बटन में पाठ के चारों ओर पैडिंग कम करें
प्रत्येक बटन में पाठ की 1 और 4 पंक्तियों (आमतौर पर प्रति पंक्ति एक शब्द) के बीच होगा।
बटन में बड़ी मात्रा में पैडिंग के कारण, मुझे टेक्स्ट के आकार को कम करना है ताकि यह लगभग अपठनीय हो, हालांकि अगर मैं आंतरिक पैडिंग को कम करने में सक्षम था, तो टेक्स्ट सही रंग देगा सीमा तक, तो मुझे कोई समस्या नहीं होगी।
मैंने नियंत्रण के पैडिंग को शून्य तक कम करने का प्रयास किया है, लेकिन इससे मदद नहीं मिलती है।
this.Text = _label;
this.Font = new Font(this.Font.FontFamily, (float) _size);
this.Padding = new Padding(0);
समस्या का एक उदाहरण नीचे दिखाया गया है:
आप देख सकते हैं शब्द 'अवलोकन' एक लाइन पर फिट करने के लिए के लिए अंतरिक्ष के बहुत सारे है, लेकिन मैं कैसे कर सकते हैं फ़ॉन्ट आकार को कम किए बिना इसे प्राप्त करें? मैं नियंत्रण के टेक्स्ट पेंटिंग कोड को फिर से लिखने के विचार को पसंद नहीं करता हूं।
संपादित करें: मैंने देखा है कि पैडिंग को 300 से अधिक के रूप में विभिन्न मानों में बढ़ाना, नियंत्रण की आंतरिक पैडिंग में कोई फर्क नहीं पड़ता। इसके अलावा जानकारी के लिए, मैं जिस बटन का उपयोग कर रहा हूं वह एक नियंत्रण है जिसे मैंने Windows.Forms.Button क्लास से विरासत में मिला है, क्योंकि मुझे कुछ गुण जोड़ने की ज़रूरत है, हालांकि मैंने किसी भी बटन के अपने तरीकों से हस्तक्षेप नहीं किया है।
यह मेरी पसंदीदा विधि होगी, हालांकि यह इतना आसान नहीं है, क्योंकि मौजूदा पेंट इवेंट सीमाओं के भीतर पाठ की रैपिंग और स्थिति से निपटेंगे , इसलिए कारण मैं इस सड़क पर जाने के इच्छुक नहीं हूं, बशर्ते कि इसे प्राप्त करने का कोई आसान तरीका न हो? – Bryan
स्वीकृत, ग्राफिक्स के रूप में। ड्रॉस्ट्रिंग टेक्स्ट रैपिंग और पोजीशनिंग का आसान काम करता है। पूरी तरह से काम करता है, बहुत धन्यवाद। – Bryan
मेरे सुझाव से कूल, सरल और ऐसा लगता है जैसे यह काम करता है। +1 – Jodrell