2010-01-22 18 views
5

मुझे उच्च डीपीआई सेटिंग्स के तहत हमारे .NET विंडोज एप्लिकेशन के प्रदर्शन के साथ कोई समस्या है।उच्च डीपीआई समस्याएं

सभी रूप ऑटोस्केलेमोड = डीपीआई पर सेट हैं, लेकिन यह सभी समस्याओं का समाधान नहीं करता है।

असल में बड़े पैमाने पर फ़ॉन्ट का सामना करने के लिए आकार में विस्तार करने के लिए आकार का विस्तार होता है, लेकिन अन्य नियंत्रणों का स्थान बदलता नहीं है और हम अन्य नियंत्रणों या एक दूसरे को अस्पष्ट करने वाले लेबल के साथ समाप्त होते हैं।

स्क्रीन इस तरह दिखना चाहिए: उच्च डीपीआई पर http://www.manageinvest.com/good.jpg ..और यह इस तरह लग रही समाप्त होता है: bad.jpg

कोई सुझाव (यह मेरी पहली पोस्ट तो मैं केवल एक लिंक अनुमति है)?

अग्रिम धन्यवाद,

क्रिस्टियन

उत्तर

1

यह आपकी समस्या का समाधान नहीं हो सकता है।

लेकिन हमने कठिन तरीका सीखा है कि लेबल और टेक्स्ट नियंत्रण लंबवत रूप से ढेर किए जाने चाहिए, यानी लेबल के बगल में लेबल के नीचे टेक्स्ट बॉक्स रखें। इसने कई भाषाओं के लिए समर्थन सहित कई समस्याओं का समाधान किया क्योंकि विभिन्न भाषाओं में टेक्स्ट चौड़ाई अंग्रेजी पाठ से अधिक हो सकती है

5

सिद्धांत रूप में, Winforms में फ़ॉन्ट और डीपीआई स्केलिंग स्वचालित हैं। अभ्यास में ... इतना नहीं।

मैंने देखा है कि यह क्षैतिज की तुलना में ऊर्ध्वाधर स्केलिंग के साथ बेहतर copes, लेकिन फिर भी यह सही से बहुत दूर है।

  1. बिल्कुल डिजाइनर का उपयोग न करें:

    मेरे अनुभव में, स्केलिंग केवल विश्वसनीय है जब आप दो चीजों में से एक कार्य है। यह काफी दर्दनाक है, लेकिन यह आपको अपने लेआउट पर आवश्यक मात्रा में नियंत्रण देता है।

  2. अंतर्निहित लेआउट नियंत्रणों का उपयोग करें - विशेष रूप से, FlowLayoutPanel और TableLayoutPanel। ये लोग आपके सबसे अच्छे दोस्त हैं; मैं शायद ही कभी उनके बिना Winforms में कुछ करता हूं।

आपके मामले में, शायद मैं # 2 के साथ जाऊंगा। स्क्रीन कैप्चर के आधार पर, मुझे लगता है कि TableLayoutPanel और FlowLayoutPanel कंटेनर के संयोजन में अपने लेआउट को फिट करना काफी आसान होगा - संभवतः यहां तक ​​कि केवल एक TableLayoutPanel

2

आपको ऑटोस्केलमोड और ऑटोसाइज सुविधाओं में देखना चाहिए। डॉकिंग क्षमताओं के साथ आप जो चाहते हैं उसे हासिल करने में सक्षम होना चाहिए।

मैं उस पर एक बहुत अच्छी लेख था, लेकिन लिंक मर चुका है ... वैसे भी, इस मिलना चाहिए आप आरंभ:

http://msdn.microsoft.com/en-us/library/ms229605.aspx

http://www.sellsbrothers.com/writing/winformsAutoScaling.htm

http://msdn.microsoft.com/en-us/library/system.windows.forms.autoscalemode.aspx

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