2011-02-08 19 views
15

लेबल वाला एक फॉर्म और एक बटन 'विकल्प'। बटन पर क्लिक करके एक नया फॉर्म 2 रेडियो बटन 'फ़ॉन्ट 1' और 'फ़ॉन्ट 2' के साथ खुलता है, और दो बटन 'लागू करें' और 'रद्द करें'। रेडियो बटनों में से एक को चुनने और 'लागू करें' पर क्लिक करने से पहले फॉर्म पर लेबल फ़ॉन्ट चेहरे को बदल देगा। समस्या यह है कि फ़ॉन्ट को तहोमा से एरियल या लेबल के किसी अन्य फ़ॉन्ट चेहरे से कैसे बदलें। बटन लागू करने के लिए,सी # लेबल के फ़ॉन्ट को कैसे बदलें

विकल्प कोड के रूप में जो करता है, तो पहले फार्म पर dialogresult.ok वापस आ जाएगी == सच और बदलने के लेबल का फ़ॉन्ट क्लिक किया गया था:

private void btnApply_Click(object sender, EventArgs e) 
{ 
    if (radioFont1.Checked) 
    { 
     mainForm.lblName.Font.Name = "Arial"; 'wrong attempt 
    } 
    this.DialogResult = DialogResult.OK; 
} 

पहले फार्म पर लेबल की घोषणा तो यह दूसरा रूप को दिखाई देता है कि:

public static Label lblName = new Label(); 

...

private void mainForm_Load(object sender, EventArgs e) 
{ 
    lblName = lblBarName; 
} 

उत्तर

31

Font.Name, Font.XYZProperty, आदि के रूप में Font अपरिवर्तनीय वस्तु है केवल पढ़ने के लिए कर रहे हैं, ताकि आप इसे बदलने के लिए नई Font वस्तु निर्दिष्ट करना होगा:

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size); 

आगे के विकल्पों के Font वर्ग के निर्माता की जाँच करें।

+0

फ़ॉन्ट 'एरियल' नहीं बनाने की जरूरत समर्थन शैली 'नियमित'। इसका क्या मतलब है? – TheEnd

+0

फ़ॉन्ट पूरी तरह से अपरिवर्तनीय है; न केवल नाम संपत्ति –

+0

@Aaron - मैंने कहा कि सभी गुणों का अनुमान लगाने के लिए 'Font.XYZProperty'। मैं इसका वर्णन करने के लिए शब्द भूल गया, इसलिए मुझे याद दिलाने के लिए धन्यवाद :)। – GenericTypeTea

8

आप एक फ़ॉन्ट परिवर्तित नहीं कर सकता एक बार यह बनाया है - तो आप एक नया एक बनाने की जरूरत:

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size); 
+0

मेरे प्रश्न पर उत्तर देने के लिए समय निकालने के लिए धन्यवाद। – TheEnd

4

आप एक नया फ़ॉन्ट

mainForm.lblName.Font = new Font("Arial", mainForm.lblName.Font.Size); 
+0

मेरे प्रश्न पर उत्तर देने के लिए समय निकालने के लिए धन्यवाद। – TheEnd

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