.net WinForms:在运行时从标签更改字体样式(下划线)的正确方法是什么?
C#:运行时从标签更改字体样式(下划线)的正确方法是什么 到目前为止,我了解到如果您想在运行时从标签(主要是所有字体属性)更改字体相关属性,您必须使用.net WinForms:在运行时从标签更改字体样式(下划线)的正确方法是什么?,.net,winforms,.net,Winforms,C#:运行时从标签更改字体样式(下划线)的正确方法是什么 到目前为止,我了解到如果您想在运行时从标签(主要是所有字体属性)更改字体相关属性,您必须使用 lblName.Font = new Font(... etc. etc. 是否有一个快捷方式,但只指定一个新的字体样式,如FontStyle.Underline 或 我是否必须继续使用“new Font()”方法并分配所有字段,以便在我的标签下面加下划线?怎么样(我使用的是.Net Framework 2.0)好的,这适用于Web应用程序。
lblName.Font = new Font(... etc. etc.
是否有一个快捷方式,但只指定一个新的字体样式,如FontStyle.Underline
或
我是否必须继续使用“new Font()”方法并分配所有字段,以便在我的标签下面加下划线?怎么样(我使用的是.Net Framework 2.0)好的,这适用于Web应用程序。在表单应用程序中,它是只读的
lblName.Font.Underline=true
定义如下:
//
// 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; }
诉诸
this.Font=新字体(this.Font、FontStyle.Underline)
适用于Win32窗体。您的操作方式:
this.Font = new Font(this.Font, FontStyle.Underline);
这是正确的。原因是字体是一种密封且不可变的类型(按设计)。当在.NET1中引入时,这似乎有点奇怪,但随着今天对函数式编程、并发性和不变性的强调,这种风格被更多地看到。也许是这样做的,因为控件继承其容器的字体,并且跟踪单个字体属性更改比跟踪整体字体更改要复杂得多 无法运行,因为font.underline是只读属性。是否确定?我在发布之前就试过了,结果成功了。你用的是什么版本?哦,没关系。这适用于Web Ap,而不是Windows Ap。您可能需要指定您正在使用的想要的窗口(Winforms或WPF)。这就是我所想到的。我不认为那太糟糕。
//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);