2008-08-29 7 views
25

मैं एक दृश्य स्टूडियो 2005 vb.net विंडोज़ प्रोजेक्ट प्रोजेक्ट पर काम कर रहा हूं जो कई सालों से आसपास रहा है। यह डिफ़ॉल्ट टेक्स्टबॉक्स, लेबल, ड्रॉपडाउन, डेटाग्रिड्स, डेटाटाइम पिकर्स से भरा है - सभी मानक सामान। अंतिम परिणाम एक बहुत भूरा, पुरानी दिखने वाली परियोजना है।आप एक .NET विंडोज फॉर्म प्रोजेक्ट कैसे ताजा बना सकते हैं?

इस परियोजना को ताजा और सनकी बनाने के लिए सबसे अच्छा तरीका क्या होगा? मैं सभी ब्रांड नए फॉर्म ऑब्जेक्ट्स के साथ पूरे समाधान को फिर से लिखना नहीं चाहूंगा, लेकिन क्या इससे बचने योग्य होगा?

उत्तर

31

मैं वास्तव में आज एक संवाद को उकसा रहा था। इसमें से बहुत से इस बात पर निर्भर करता है कि आपके पास किस प्रकार का एप्लिकेशन है, और यह किस ओएस पर चल रहा है। इन युक्तियों में से कुछ निश्चित रूप से चीजों को जैज़ करने के लिए एक लंबा रास्ता तय करेंगे।

  1. नियंत्रणों के बीच पर्याप्त अंतर सुनिश्चित करें - उन सभी को एक साथ क्रैम न करें। अंतरिक्ष आकर्षक है। जब आपके पास अधिक जगह हो तो आप नियंत्रण को थोड़ा अलग तरीके से बहने की भी कोशिश कर सकते हैं।

  2. कुछ नई 3 डी और चमकदार छवियों में रखो। आप कस्टम चेतावनी संवाद पर एक बड़ा पीला विस्मयादिबोधक चिह्न डाल सकते हैं। पुराने टूलबार बटन को नए से बदलें। मैंने उपयोग की जाने वाली दो पुस्तकालयों और GlyFX और IconExperience हैं। आप भी मुफ्त में पा सकते हैं। आदर्श रूप से एक ग्राफिक कलाकार प्राप्त करें जो आपके द्वारा उपयोग किए जाने वाले सामान्य कार्यों के बीच आपके द्वारा किए जाने वाले विशिष्ट कार्यों के लिए कुछ कस्टम बनाने के लिए प्राप्त करें (सुनिश्चित करें कि वे सभी एक साथ जाते हैं)। यह फैंसी दिखने के लिए एक लंबा रास्ता तय करेगा।

  3. एक अलग फ़ॉन्ट का प्रयास करें। ताहोमा एक अच्छा है। कई बार डिफ़ॉल्ट फ़ॉन्ट एमएस सैन्स सेरिफ़ है। आप इससे बेहतर कर सकते हैं। हालांकि टाइम्स न्यू रोमन और कॉमिक सैन्स से बचें। बोल्ड के बड़े ब्लॉक से बचें - इसे कम से कम इस्तेमाल करें। आम तौर पर आप अपने सभी फ़ॉन्ट्स को वही चाहते हैं, और पाठ के कुछ बिट्स को अलग करने के लिए केवल अलग-अलग फोंट का उपयोग करें।

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

  5. आंख कैंडी सोचने के बजाय, उपयोगिता सोचें। कार्रवाई का सबसे आम तरीका स्पष्ट करें। डेवएक्सप्रेस के मार्क मिलर ने यूजर इंटरफेस डिजाइन के विज्ञान पर एक अच्छी बात की है। मेरे पास वास्तव में इसका एक वीडियो है और इसे थोड़ा साफ-सफाई के साथ ऑनलाइन पोस्ट करने में सक्षम हो सकता है।

  6. कुछ अच्छी गुणवत्ता वाले तृतीय पक्ष नियंत्रणों में निवेश करें। अपने सभी नियंत्रणों को प्रतिस्थापित करना दर्द हो सकता है, लेकिन यदि आप उदाहरण के लिए डिफ़ॉल्ट ग्रिड का उपयोग कर रहे हैं, तो आप वास्तव में DevExpress या किसी अन्य घटक विक्रेता से एक अच्छी ग्रिड के साथ इसे जैज़ करेंगे। ध्यान रखें कि अलग-अलग विक्रेताओं के अलग-अलग दर्शन होते हैं कि उनके घटकों का उपयोग कैसे किया जाता है, इसलिए उन्हें बाहर निकालना दर्द का थोड़ा सा हो सकता है। पानी का परीक्षण करने के लिए छोटे से शुरू करें, और फिर उन सभी को बदलने के लिए प्रतिबद्ध होने से पहले वास्तव में कुछ जटिल कोशिश करें। केवल बदतर चीज बदसूरत ग्रिड सुंदर ग्रिड के साथ मिश्रित बदसूरत ग्रिड है। संगठनात्मक सुनहरा है!

  7. आप अपने पुरानी टूल बार और मेन्यू को रिबन नियंत्रण के साथ बदल सकते हैं जैसे कि माइक्रोसॉफ्ट ऑफिस 2007 में किया गया था। तब सभी को लगता है कि आप वास्तव में शहर हैं! बिना किसी सोच के महत्वपूर्ण कुंजी और यूआई तत्वों को फिर से बदलना आपको पूरे यूआई को फिर से भरना होगा।

  8. बेशक टैब ऑर्डर आदि जैसी मूलभूत बातें, संगति, स्थिरता, स्थिरता पर ध्यान दें।

कुछ ऐप्स स्वयं को पूर्ण उड़ाते हुए स्किनिंग में उधार देते हैं, जबकि अन्य नहीं करते हैं।आम तौर पर आप कुछ भी चमकदार नहीं चाहते हैं जो बहुत उपयोग करता है।

+1

[जिम के बारे में बात कर रहे बात से लिंक करें।] (Https://www.youtube.com/watch?v=rjRsY5xFLF8) – Childishforlife

3

यह इस बात पर निर्भर करता है कि कोड के संदर्भ में मौजूदा "ग्रे पुरानी लग रही" परियोजना को कैसे संरचित किया गया है। उदाहरण के लिए, डेटा एक्सेस लेयर में UI से अलग डेटा एक्सेस कोड, व्यवसाय तर्क परत में व्यवसाय तर्क है? यदि हां, तो स्नैज़ी देखो के लिए यूआई की सफाई अपेक्षाकृत सरल होनी चाहिए।

यदि सब कुछ "बटन क्लिक" ईवेंट में है, तो मेरी विनम्र राय में एक पुनर्लेख एकमात्र तरीका है, अन्यथा यह मौजूदा कोड बेस के साथ काम करने की कोशिश करने में बहुत समय लगेगा।

चीयर्स

5

यह एक राय के रूप में इतना "जवाब" नहीं है।

मैंने कुछ साल पहले एक विनफॉर्म प्रोजेक्ट को जैज़ करने की कोशिश की जिसे मैंने एक फैंसी ब्लू ग्रेडियंट पृष्ठभूमि इत्यादि देकर बनाया था, और यह XP पर बहुत अच्छा लग रहा था। लेकिन फिर Vista पर यह जगह से बाहर देखा। किसी भी कस्टम पेंटिंग को दूर करने और फॉर्म को "युद्धपोत ग्रे" में वापस करने से यह बेहतर आईएमएचओ दिखता है।

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

मुझे लगता है कि मैं जो कह रहा हूं वह यह है कि आपको अपने आवेदन को फैशनेबल बनाने के बारे में बहुत ज्यादा चिंता करने की आवश्यकता नहीं है। यदि आप सिस्टम रंगों की गणना के आधार पर अपने रंग रखते हैं तो विंडोज आपके लिए ऐसा कर सकता है।

3

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

4

इस परियोजना को ताजा और सनकी बनाने के लिए सबसे अच्छा तरीका क्या होगा?

IMHO सबसे अच्छी बात आप कर सकते हैं यकीन है कि नियंत्रण तार्किक आदेश दिया जाता है, और उन दोनों के बीच पर्याप्त अंतर है, और groupboxes/लेबल/आदि जोड़ने जहां उपयुक्त है।

यदि आप 'रंग का समुद्र' को बदलने और बदलने के लिए डिफ़ॉल्ट रंग योजना है, तो आपका ऐप सिर्फ बकवास दिखने वाला होगा।

6

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

कारण मैं विशेष रूप से इन पुस्तकालयों में से किसी एक का उपयोग करने की अनुशंसा करता हूं कि वे मौजूदा अनुप्रयोगों में उपयोग करने के लिए अपेक्षाकृत आसान होने के लिए डिज़ाइन किए गए थे, आपको समर्थन, एक समुदाय, और अपग्रेड पथ/विकल्प के सभी प्रकार मिलते हैं।

नकारात्मक: पैसा।

7

एक दूसरी बात यह भी जांच करने के लिए प्रणाली के बजाय मानक की को FlatStyle संपत्ति सेट है कि अपने नियंत्रण है।

यह क्या करेगा यह सुनिश्चित करेगा कि ऐप रेडियो बटन, मानक बटन और इसी तरह के सिस्टम सिस्टम डिफ़ॉल्ट का उपयोग करता है। यह आपके सभी ऐप्स को फ्लैट विन 2000 लुक से लेता है और उन्हें चल रहे ओएस के आधार पर एक्सपी या विस्टा ब्लिंग देता है।

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