पर एक Winform क्यों अलग दिखाया गया है हमारे पास विरासत .net विंडोज़ एप्लिकेशन है। हमने इसे पहले से ही वेब एप्लिकेशन के साथ बदल दिया है, लेकिन अभी भी प्रशासनिक कार्यों के लिए विंडोज़ फॉर्म एप्लिकेशन का उपयोग करें।एक 4x मॉनीटर
जब यह एप्लिकेशन 4k मॉनीटर पर उपयोग किया जाता है, तो यह वास्तव में खराब लगता है, और यह समझ में आता है।
लेकिन देखो सिस्टम पर अन्य मॉनीटर के आधार पर बदलता है। परीक्षण लेनोवो 430 पर किया जाता है जिसमें 4k मॉनिटर डिस्प्ले पोर्ट के माध्यम से जुड़ा होता है। लैपटॉप मॉनिटर पर संकल्प 1920/1080 है और 4k मॉनिटर पर इसकी 3840/2160 है। प्रदर्शन स्केलिंग हमेशा 200% है।
4k मॉनिटर पर निम्नलिखित सभी स्क्रीन शॉट्स लिया गया था। दोनों पर नजर रखने के सक्रिय साथ
- एक परीक्षण
- दूसरी स्क्रीन के साथ एक परीक्षण केवल
- नोटबुक की निगरानी के साथ एक परीक्षण बंद कर दिया (जो प्रणाली के लिए केवल एक मॉनिटर उपलब्ध मतलब है)
मुझे पता है कि हमारी आवेदती परिवर्तन के बिना 4k पर अच्छा नहीं लगेगा और dpiAware/dpiAwareness सेट करेगा।
लेकिन मेरा प्रश्न है: एप्लिकेशन केवल मॉनीटर सक्रिय होने पर निर्भर करता है क्यों? और क्या यह नियंत्रित करने का कोई तरीका है कि किस तरह का "प्रकार" देखा जाता है?
मुझे जो पता है उसके आधार पर, ऐसा होने का कारण यह है कि आप अपने Winforms के लेआउट गुणों को कैसे सेट करते हैं। उदाहरण के लिए यदि 'ऑटोसाइज' को 'ट्रू' पर सेट किया गया था, तो मॉनीटर रिज़ॉल्यूशन में प्रत्येक बदलाव फॉर्म आकार को प्रभावित करेगा। वही एंकर 'और' डॉक 'के साथ चला जाता है, यही कारण है कि अधिकांश लोग Winforms पर WPF पसंद करते हैं। 3840/2160 से 1920/1080 मॉनीटर तक, इस गुण को सही ढंग से सेट किए बिना, आपको एक "सार" (यहां एक चित्रकार मजाक बनाने की कोशिश) Winform मिलता है। –