5

मैं एक बड़े .NET Winforms प्रोजेक्ट पर परामर्श कर रहा हूं जिसे "टच" मोड में चलाने में सक्षम होना चाहिए ताकि इसे टच स्क्रीन इंटरफ़ेस का उपयोग करके संचालित किया जा सके। एप्लिकेशन आर्किटेक्चर में मानक पर फोंट/डिस्प्ले को बढ़ाने के लिए पहले से स्केलिंग तर्क शामिल है। नेट फॉर्म और कंट्रोल और कस्टम कंट्रोल स्केलिंग को भी संभालता है।बड़े फ़ॉन्ट्स के साथ विंडोज संवाद

समस्या यह है कि एप्लिकेशन OpenFileDialog और SaveFileDialog का उपयोग करता है जो एक ही तर्क का उपयोग नहीं करता है (जो अनिवार्य रूप से नियंत्रण पर फ़ॉन्ट प्रॉपर्टी के आकार को समायोजित कर रहा है और रूपों को दोबारा बनाते हैं)। मेरा मानना ​​है कि ये संवाद अनिवार्य रूप से देशी विंडोज संवाद हैं और ओपनफाइलडियलॉग क्लास वास्तव में केवल रैपर वर्ग हैं जो मानक के साथ इंटरैक्ट करने के लिए एक मानक .Net इंटरफ़ेस का पर्दाफाश करते हैं।

इन समाधानों के लिए कस्टम संवाद लागू करने के लिए एक समाधान हो सकता है, लेकिन यह शायद कुछ हद तक व्यापक कार्य होगा। हम वास्तव में क्या करना चाहते हैं किसी भी तरह से इस विशेष संवाद के फ़ॉन्ट आकार को स्केल करना है (शायद कुछ पी/आमंत्रण विंडो-हैंडल जादू के माध्यम से)?

मुझे पता है कि टच-सक्षम करने के लिए एक समाधान सामान्य रूप से विंडोज के फ़ॉन्ट आकार को समायोजित करना होगा, लेकिन यह विचार वास्तव में इस कंपनी के साथ नहीं पकड़ रहा है, बल्कि वे ऐप को स्केल करेंगे और बाकी के बाकी हिस्सों को छोड़ देंगे ओएस untouched।

तो, किसी भी अनुभव या विचार के रूप में कि आप इन संवादों को बड़े फ़ॉन्ट पर कैसे स्केल कर सकते हैं? या क्या हम सिर्फ बुलेट काटने और इसके लिए कस्टम संवाद बनाना चाहिए?

+0

[यह] (http://www.codeproject.com/KB/dialog/OpenFileDialogEx.aspx) आलेख में आपकी सहायता कर सकते हैं .sohwDialog() को कॉल करें। – ahazzah

+0

लेख अच्छा है लेकिन मैं इस तरह से नहीं जाना चाहता था। मैं .NET से हैक सीलबंद कक्षाओं की तुलना में कोड फिर से लिखना चाहता हूं। ढांचे या एपीआई परिवर्तनों का अगला संस्करण आसानी से आपके कोड को तोड़ सकता है। तृतीय-पक्ष नियंत्रणों का उपयोग करने से आप यहां बहुत मदद कर सकते हैं (भुगतान या मुक्त)। मैं पहले पेड़ नियंत्रण की तलाश में जाऊंगा, जो कस्टमाइज़ करना मुश्किल है और सब कुछ। –

+0

[यह] (http://www.codeproject.com/KB/dialog/CustomizeFileDialog।एएसपीएक्स) अन्य आलेख आपको भी मदद कर सकता है =) –

उत्तर

1

मुझे पता है कि स्पर्श सक्षम करने के लिए एक समाधान सामान्य रूप में Windows के फ़ॉन्ट आकार को समायोजित करने के लिए होगा, लेकिन उस विचार वास्तव में इस कंपनी के साथ पर पकड़ने नहीं है, बल्कि वे स्वयं ऐप पैमाने पर और छोड़ना होगा शेष ओएस अनछुए।

आपके द्वारा संदर्भित संवाद "बाकी ओएस" का हिस्सा हैं जो वे बिना छूटे रहेंगे। आप या तो सामान्य संवाद का उपयोग करते हैं, नियंत्रण कक्ष में फ़ॉन्ट स्केलिंग बढ़ाने के लिए मजबूर होना, यानी सिस्टम-व्यापी, या उन संवादों को फिर से कार्यान्वित करें।

उपयुक्त एपीआई का उपयोग करके एक अलग विंडोज डेस्कटॉप बनाने, अपने फ़ॉन्ट स्केलिंग को बढ़ाने और वहां ऐप निष्पादित करने का विकल्प हो सकता है (यानी ऐप को उस डेस्कटॉप को बनाने, उपयोग करने और नष्ट करने दें)। फिर, ऐप और सभी आम संवादों को बढ़ाया जाएगा। ऐप को कभी भी एक स्क्रीन पर अन्य ऐप्स के साथ नहीं देखा जाएगा, और आपको ऐप में स्विचिंग डेस्कटॉप का ख्याल रखना होगा (मुझे लगता है)। और ऐप सक्रिय होने पर ऐप जीयूआई के अलावा आप कुछ भी नहीं देख पाएंगे। कोई स्टार्ट बटन नहीं, कोई टास्कबार नहीं, कोई नटिन नहीं। विवरण के लिए उदाहरण के लिए http://www.codeproject.com/KB/cs/csdesktopswitching.aspx देखें।

+1

मैं इसे उत्तर के रूप में स्वीकार करूंगा क्योंकि यह एकमात्र व्यवहार्य पोस्ट किया गया है (हालांकि मैंने "संवाद को फिर से कार्यान्वित करने" के अलावा कुछ और करने की आशा की थी) :) –

-1

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

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