पृष्ठभूमि: मेरे पास एक TableLayoutPanel है जो कि UserControl में रखा गया है तब स्प्लिट कंटनेयर में रखा गया है। पंक्तियों को प्रोग्राममेटिक रूप से जोड़ा जाता है। टाइल लेआउटपैनेल एंकर शीर्ष | वाम | ठीक है, इसलिए पंक्तियों के बाद जोड़ा जाता है, इसकी ऊंचाई फिर से गणना की जाती है और यह नीचे की ओर फैलता है। टेबल लेआउटपैनेल के अंदर, 2 कॉलम हैं। पहला स्तंभ का आकार पूर्ण है, दूसरा कॉलम का आकार स्वतः आकार है प्रत्येक कोशिका में एक लेबल होता है दूसरे कॉलम में सभी लेबल इस प्रकार परिभाषित किए गए हैं: आमतौर पर सब कुछ ठीक है, लेबल का आकार बदलता है और सब कुछ, एक अजीब परिदृश्य के अलावा: < Ol> एक ही बात तब होती है जब TableLayoutPanel की चौड़ाई बढ़ जाती है, लेकिन हमेशा तब होती है जब एक पिक्सेल का अंतर होता है (लपेटने / )। इसके अलावा, लेबल्स की डॉक और / या एंकर और / या बॉर्डर स्टाइल गुणों को बदलना (मैं संभवत: सभी संभव संयोजनों की कोशिश करता है ...) यह तस्वीर इस मुद्दे को थोड़ा सा दिखाती है: Img src = "https://i.stack.imgur.com/kMZXF.png" alt = "छवि विवरण यहां दर्ज करें"> जाहिरा तौर पर यह एक लेबल समस्या है: जब स्वत: आटोसिंग करना सही ढंग से पाठ को मापना नहीं था और कभी-कभी एक पिक्सल अंतर होता है मुझे एक अजीब समाधान मिल गया है, हालांकि, अगर कोई बेहतर जानता है तो कृपया मुझे उजागर करें। इस तरह मेरे लेबल में पाठ हर बार सही तरीके से लपेटता है और सब कुछ ठीक से स्वत: चला जाता है:
लेबल vName = new label (); VName.AutoSize = सच; VName.Anchor = AnchorStyles.Left | एंकरस्टाइल। शीर्ष | एंकर स्टाइल। राइट | AnchorStyles.Bottom; VName.Margin = नया पैडिंग (3); VName.TextAlign = सामग्रीएलिन्मेंट। मिडिललफ्ट; VName.Name = "controlName"; VName.Text = "कुछ पाठ यहाँ"; VName.DoubleClick + = नए इवेंटहाँडलर (vName_DoubleClick); VName.Dock = DockStyle.None; समस्या:
< कोड> शून्य तालिका लेआउटपैनेल 1_चा आकार (ऑब्जेक्ट प्रेषक, इवेंटएरग्स ई) {फ्लोट एफडब्ल्यूडथ = टेबल लेआउटपैनेल 1। गेट कॉलम विड्थ्स () [1]; Foreach (टेबल लेआउटपैनेल 1 नियंत्रण कक्ष में नियंत्रण सीटीआर) {यदि (सीटीआर लेबल है & amp; amp; amp; सीटीआर.नाम.संसाधन ("vName_")) {// मार्जिन के लिए 7 आकार s = TextRenderer.MeasureText (ctr.Text, ctr फ़ॉन्ट, नया आकार ((int) fWidth - 7,1000), पाठफ़ॉर्मेटफ़्लैग.वर्टीकल केंद्र | टेक्स्टफ़ॉर्मैटफ़्लैग.लिफ्ट | टेक्स्टफ़ॉर्मैटफ़्लैग.पैडिंग | टेक्स्टफ़ॉर्मैटफ़्लैग। वर्डब्रैक); यदि (! Ctr.maximumize.Equals (s)) ctr.MaximumSize = नया आकार (s.Width, s.Height); }}} पर क्लिक करें
No comments:
Post a Comment