2012-11-19 12 views
6

जब मैं अपनी मशीन पर अपना फॉर्म बनाता हूं तो यह ठीक दिखता है, लेकिन जब इसे किसी दूसरे कंप्यूटर पर संकलित किया जाता है तो फॉर्म का आकार स्वयं गलत होता है। लेबल चारों ओर ले जाया जाता है और चीजें अब ठीक से गठबंधन नहीं होती हैं।फॉर्म किसी अन्य कंप्यूटर पर अलग दिखता है

मैं कैसे गारंटी दूं कि सब कुछ किसी भी कंप्यूटर पर समान दिखाई देगा?

मैंने AutoScaleMode को किसी के लिए सेट करने का प्रयास नहीं किया, और इससे थोड़ी मदद मिली लेकिन फिर लेबल इसी पाठ बॉक्स के नीचे आंशिक रूप से नीचे थे।

+0

नियंत्रण कैसे आकार और रखे जा रहे हैं? मैंने कभी भी अपने प्रस्तावों को विभिन्न संकल्पों पर तंग नहीं किया। – Alex

+0

दो मशीनों पर डीपीआई सेटिंग्स अलग-अलग हैं। –

+0

आपने अपने नियंत्रण कैसे समूहित किए हैं? क्या आप किसी भी लेआउट नियंत्रण का उपयोग कर रहे हैं? क्या आप एंकर का उपयोग कर रहे हैं? –

उत्तर

5

या तो फ़ॉन्ट या डीपीआई भिन्न है।

और मुझे कभी भी AutoScaleMode = (most appropriate of font or dpi) कहने का कोई तरीका नहीं मिला है।

लेकिन AutoScaleMode = DPI और AutoScaleMode = Font आज़माएं। उनमें से एक काम करना चाहिए।

हमें इसे संभालने का एक विश्वसनीय तरीका कभी नहीं मिला। हमारी कार्यस्थल सभी कार्यस्थानों पर डीपीआई को लागू करने के लिए उपयोग की जाती है, लेकिन तब से यह बदल गई है। इसे संभालने का सबसे अच्छा तरीका यह सुनिश्चित करना है कि आप नियंत्रणों की पूर्ण स्थिति के बजाय FlowLayoutPanel या TableLayoutPanels के साथ अपने नियंत्रण लेआउट करें।

+0

यदि आप नियंत्रण कक्ष \ उपस्थिति और वैयक्तिकरण \ डिस्प्ले पर जाते हैं तो आपके पास 100%, 125% और 150% के बीच विकल्प होता है। मुझे लगता है कि यह डीपीआई बदलता है। विभिन्न मशीनों पर फ़ॉन्ट कैसे भिन्न होगा? – NMunro

+0

आप सही हैं। वह डीपीआई है; माइक्रोसॉफ्ट सिर्फ मेरी राय में एक अजीब तरीके से यह शब्द। आप संवाद आदि में इस्तेमाल किए गए सिस्टम फोंट को बदल सकते हैं जैसे [इस] (http://www.sevenforums.com/tutorials/1175-fonts-change.html) – hometoast

+0

क्या यह बताने का कोई तरीका है कि उन्होंने डीपीआई बदल दिया है या नहीं फॉन्ट? मेरा पसंदीदा समाधान एक संदेश बॉक्स होगा जो उन्हें चीजों के साथ खराब होने से रोकने के लिए कहता है। जबरदस्त हंसी – NMunro

0

मुझे हाल ही में यह समस्या हो रही थी और यह पता चला कि 125% या मध्यम सेटिंग में संकलन बाइनरी प्रतिरक्षा को 100 या 150 प्रतिशत में बदलने के लिए बनाता है। आपको अभी भी ऑटोस्केल मोड को किसी भी पर सेट करने की आवश्यकता नहीं है।

0

यहां तक ​​कि यदि विषय खत्म हो गया है, तो मेरे दो सेंट्स के बाद से मुझे एक ही समस्या का सामना करना पड़ रहा था, फॉर्म का एक अलग आकार था (मेरे मामले में बड़ा) लेकिन नियंत्रण जहां तय किया गया था। मैंने इसे मूल रूप से नियंत्रण से छोटे आयामों को देकर हल किया, और इसे स्वचालित रूप से बढ़ने की अनुमति दी।

मैंने इस पोस्ट के दिशानिर्देश भी लागू किए हैं (How to write WinForms code that auto-scales to system font and dpi settings?) लेकिन इससे मेरी समस्या हल नहीं हुई।

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