2008-11-09 34 views
6

C#: Cách thích hợp để thay đổi kiểu phông chữ (gạch chân) từ một Nhãn khi chạy là gì?WinForms: Cách thích hợp để thay đổi kiểu phông chữ (gạch chân) từ một Nhãn khi chạy là gì?

Cho đến nay tôi hiểu rằng nếu bạn muốn thay đổi phông chữ thuộc tính liên quan trong thời gian chạy từ một nhãn, chủ yếu là các thuộc tính font chữ, bạn sẽ phải sử dụng,

lblName.Font = new Font(... etc. etc. 

Có một phím tắt để ở trên nhưng chỉ không chỉ định gì ngoài kiểu Font mới như FontStyle.Underline?

hoặc

Tôi sẽ phải tiến hành bằng cách sử dụng "Font mới()" phương pháp và gán tất cả các lĩnh vực cùng với nó quá chỉ để nhấn mạnh nhãn của tôi?

+0

Bạn có thể muốn chỉ định cửa sổ muốn bạn đang sử dụng (Winforms hoặc WPF). –

Trả lời

0

Làm thế nào về (tôi đang sử dụng .Net Framework 2.0) Được rồi, vì vậy điều này làm việc cho một ứng dụng web. Trong một ứng dụng biểu mẫu, nó là chỉ đọc.

lblName.Font.Underline = true;

Đây là định nghĩa:

// 
    // Summary: 
    //  Gets or sets a value that indicates whether the font is underlined. 
    // 
    // Returns: 
    //  true if the font is underlined; otherwise, false. The default value is false. 
    [DefaultValue(false)] 
    [NotifyParentProperty(true)] 
    public bool Underline { get; set; } 
+0

Sẽ không hoạt động vì font.underline là thuộc tính chỉ đọc. –

+0

Bạn có chắc chắn không? Tôi đã thử nó trước khi tôi đăng nó và nó đã hoạt động. Phiên bản nào bạn đang sử dụng? – wonderchook

+0

Rất tiếc, đừng bận tâm. Điều này làm việc cho một Web Ap, không phải là một Windows. – wonderchook

1

viện đến,

this.Font = new Font (this.Font, FontStyle.Underline);

Làm việc cho biểu mẫu Win32.

+0

Đó là tất cả những gì tôi nghĩ ra. Tôi không nghĩ điều đó quá tệ. – wonderchook

12

Cách bạn đã làm nó:

this.Font = new Font(this.Font, FontStyle.Underline); 

là đúng. Lý do là Font là một loại kín và không thay đổi (theo thiết kế). Khi được giới thiệu trong .NET 1, điều này có vẻ hơi lạ nhưng với sự nhấn mạnh ngày nay về lập trình hàm, đồng thời và bất biến, kiểu này được nhìn thấy nhiều hơn. Có lẽ nó đã được thực hiện theo cách này vì các điều khiển kế thừa phông chữ của vùng chứa của họ và theo dõi các thay đổi thuộc tính phông chữ riêng lẻ sẽ có nhiều công việc hơn là theo dõi thay đổi phông chữ bán buôn.

1
//Bold. 
    label1.Font = new Font(label1.Font.Name, 12, FontStyle.Bold); 

//Bold With Underline. 
    label1.Font = new Font(label1.Font.Name, 12, FontStyle.Bold | FontStyle.Underline); 

//Bold with Underline with Italic. 
    label1.Font = new Font(label1.Font.Name, 12, FontStyle.Bold | FontStyle.Underline | FontStyle.Italic); 
Các vấn đề liên quan