2008-09-23 6 views
6

USECASE: उपयोगकर्ता, डिजाइन की सतह पर एक वस्तु के लिए अक्षरों का अनुकूलन करता है कि मैं लोड करने के लिए की जरूरत है/मेरे डेटासंग्रह पर सहेजें। अर्थात। बोल्ड, इटालिक्स, साइज, फ़ॉन्ट नाम जैसी सेटिंग्स को जारी रखने की आवश्यकता है।मैं प्रभावी रूप से .Net फ़ॉन्ट ऑब्जेक्ट को कैसे जारी रखूं?

वहाँ कुछ आसान (और विश्वसनीय) तंत्र परिवर्तित/font वस्तु के एक स्ट्रिंग प्रतिनिधित्व से वापस पढ़ने के लिए है (इस स्थिति में मैं सिर्फ एक विशेषता की आवश्यकता होगी)? या कस्टम गुण सही विकल्प के साथ संयुक्त कई गुण हैं?

उत्तर

10

उपयोग TypeConverter:

Font font = new Font("Arial", 12, GraphicsUnit.Pixel); 

TypeConverter converter = TypeDescriptor.GetConverter(typeof (Font)); 

string fontStr = converter.ConvertToInvariantString(font); 

Font font2 = (Font) converter.ConvertFromString(fontStr); 

Console.WriteLine(font.Name == font2.Name); // prints True 

आप XML क्रमांकन उपयोग करने के लिए आप फ़ॉन्ट वर्ग आवरण जो फ़ॉन्ट गुण के कुछ सबसेट स्टोर करेगा बना सकते हैं चाहते हैं।

नोट (Gishu) - कभी एक प्रकार कनवर्टर सीधे एक्सेस करते हैं। इसके बजाय, TypeDescriptor का उपयोग करके उपयुक्त कनवर्टर तक पहुंचें। बहुत महत्वपूर्ण :)

+0

महान .. विज्ञापित के रूप में काम करता है -।।। धन्यवाद अकु आप 5K निशान के करीब मतदान :) – Gishu

+0

मुझे खुशी है मैं, धन्यवाद मतदान के लिए आपकी मदद करने में कामयाब रहे :) – aku

+1

मुझे लगता है कि 'ConvertFromInvariantString()' 'रूपा के समकक्ष के रूप में इस्तेमाल किया जाना चाहिए ertToInvariantString() '(उपरोक्त उदाहरण में देखा गया 'कनवर्टफ्रॉस्ट्रिंग()' के बजाय)। – miroxlav

0

डेटासंग्रह आप किस प्रकार में इस लागू करने के लिए की जरूरत है? यदि यह केवल उपयोगकर्ता सेटिंग्स है जिसे फ़ाइल में रखा जा सकता है तो आप फ़ॉन्ट ऑब्जेक्ट को या तो बाइनरी या एक्सएमएल में सेटिंग्स फ़ाइल में क्रमबद्ध कर सकते हैं (यदि आप सीधे कॉन्फ़िगरेशन फ़ाइल को संपादित करने में सक्षम होना चाहते हैं)। क्रमबद्धता नेमस्पेस (System.Xml.Serialization और System.Runtime.Serialization) सभी उपकरण कस्टम कोड लिखने के बिना यह करने के लिए प्रदान करते हैं।

एक्सएमएल क्रमबद्धता पर MSDN साइट: XML Serialization in the .Net Framework

[संपादित करें] तो aparrently फ़ॉन्ट वस्तु serialisable नहीं है। उफ़ :(खेद है।

+0

फ़ॉन्ट ऑब्जेक्ट serializable नहीं है। – aku

0

परियोजना में मैं पर काम कर रहा हूँ, मैं कई गुणों के साथ चला गया।

मैं इसके नाम, आकार, शैली और इकाई और उसके बाद बाहर तोड़ कर एक डेटाबेस तालिका के लिए फ़ॉन्ट को बचाने उन मूल्यों को जारी रहती है

एक तस्वीर है मांग एक बार इन मूल्यों retrived कर रहे हैं पर फ़ॉन्ट पुनः

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