2011-02-08 38 views
15

Biểu mẫu có nhãn và nút 'Tùy chọn'. Bằng cách nhấp vào nút, một biểu mẫu mới sẽ mở ra với 2 nút radio 'Font1' và 'Font2', và hai nút 'Áp dụng' và 'Hủy'. Khi chọn một trong các nút radio và nhấp vào 'Áp dụng' sẽ làm cho nhãn trên biểu mẫu đầu tiên thay đổi khuôn mặt phông chữ. Vấn đề là làm thế nào để thay đổi phông chữ như trong từ nói Tahoma để Arial hoặc bất kỳ khuôn mặt phông chữ khác của nhãn.C# Cách thay đổi phông chữ của nhãn

Tùy chọn tạo mã cho áp dụng nút, mà nếu được nhấp sẽ trở lại DialogResult.OK == true và thay đổi font chữ của nhãn về hình thức đầu tiên:

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

Tuyên bố của nhãn vào mẫu đầu tiên để rằng nó là có thể nhìn thấy hình thức thứ hai:

public static Label lblName = new Label(); 

...

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

Trả lời

31

Font.Name, Font.XYZProperty, vv là readonly như Font là một đối tượng bất biến, vì vậy bạn cần phải xác định một đối tượng mới Font để thay thế nó:

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

Kiểm tra constructor của lớp Font cho các tùy chọn thêm.

+0

Font 'Arial' không hỗ trợ kiểu 'Regular'. Điều đó nghĩa là gì? – TheEnd

+0

Toàn bộ phông chữ là không thay đổi; không chỉ thuộc tính Tên –

+0

@Aaron - Tôi đã nói 'Font.XYZProperty' để suy ra tất cả các thuộc tính. Tôi quên từ để mô tả nó, vì vậy cảm ơn đã nhắc nhở tôi :). – GenericTypeTea

8

Bạn không thể thay đổi một chữ khi nó đã được tạo ra - vì vậy bạn cần phải tạo ra một cái mới:

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

Cảm ơn bạn đã dành thời gian trả lời câu hỏi của tôi. – TheEnd

4

Bạn cần phải tạo một phông chữ mới

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

Cảm ơn bạn đã dành thời gian trả lời câu hỏi của tôi. – TheEnd

Các vấn đề liên quan