2014-06-27 10 views
7

की ऊर्ध्वाधर स्थिति को प्रभावित करता है मेरे पास AutoEllipsis = true और TextAlign = ContentAlignment.MiddleLeft वाला लेबल है। जब मैं एक पाठ दर्ज करता हूं जो लेबल चौड़ाई को विस्तारित नहीं कर रहा है, तो पाठ लेबल के बीच में लंबवत रूप से गठबंधन होता है।ऑटोइलीप्सिस = सत्य

enter image description here

हालांकि, जब पाठ लेबल फैली चौड़ाई पाठ बीच में मेल नहीं किया गया है, लेकिन शीर्ष बजाय गठबंधन।

enter image description here

क्यों यह इस तरह से बर्ताव कर रही है, और वहाँ पाठ खड़ी गठबंधन केंद्र रखने के लिए एक तरीका है?

उत्तर

11

मुझे यह दिखाई देता है। यह अंतर्निहित winapi, DrawTextEx() में एक सीमा की तरह दिखता है। जिसे लेबल क्लास से बहुत मदद नहीं मिलती है, यह DT_SINGLELINE विकल्प (उर्फ TextFormatFlags.SingleLine) चालू नहीं करता है क्योंकि यह एकाधिक लाइनों को प्रस्तुत करने में सक्षम है। DrawTextEx() दस्तावेज़ जो लंबवत केंद्रित टेक्स्ट (DT_VCENTER) प्राप्त करने के लिए आवश्यक हैं। तो असली बग यह है कि इसे बिल्कुल केंद्रित नहीं किया जाना चाहिए :) ध्यान दें कि लेबल को लंबवत रूप से बढ़ाते समय केंद्रित टेक्स्ट प्राप्त करें।

इसके आसपास काम करने का सबसे आसान तरीका लेबल की UseCompatibleTextRendering प्रॉपर्टी को True पर सेट करना है।

संबंधित मुद्दे