无法分配属性或索引器“Font.Bold” - 它是只读的

Juh*_*jos 3 c# winforms

我希望它形成一个工具,在程序运行期间更改其中一个字符的粗细(粗体)或下划线(下划线)。我尝试设置下一个程序代码,但失败了。我收到以下错误:“无法分配属性或索引器‘Font.Bold’ - 它是只读的”

为什么我不能设置这个属性?

((TextBox)tabControl1.Controls[S].Controls[K]).Font.Bold = true;
Run Code Online (Sandbox Code Playgroud)

Ser*_*kiy 6

您无法更改现有的字体实例。您应该从已有的字体实例中创建新的字体实例并将其分配给文本框。例如,如果您只想更改字体样式,可以使用Font(Font prototype, FontStyle newStyle)构造函数:

var textBox = (TextBox)tabControl1.Controls[S].Controls[K];
textBox.Font = new Font(textBox.Font, FontStyle.Bold);
Run Code Online (Sandbox Code Playgroud)