美好的一天,
我有一个C#应用程序,它以如下格式从设置文件中读取字体样式。
string font_style = "Bold, Italic, Underline, Strikeout";
我要做的是根据设置更改Richtextbox的字体样式。如果有多种字体样式(如粗体,下划线和斜体),则richtextbox字体样式需要更改为该样式。从下面的代码中,它仅将字体样式更改为数组的最后一个样式,即“ Strikeout”,但没有将其更改为粗体,斜体和下划线。有什么办法可以解决这个问题吗?
string font_style = "Bold, Italic, Underline, Strikeout";
string[] fontStrings = font_style.Split(',');
for (int i = 0; fontStrings.Length > i; i++)
{
var fntTab = new Font(FontFamily.GenericSansSerif, 18.0F, FontStyle)Enum.Parse(typeof(FontStyle), fontStrings[i], true));
this.richTextBox1.Font = fntTab;
}
答案 0 :(得分:1)
您应使用or
这样的示例:
FontStyle res = FontStyle.Regular;
for (int i = 0; fontStrings.Length > i; i++)
{
res = res | (FontStyle)Enum.Parse(typeof(FontStyle), fontStrings[i], true);
}
richTextBox1.Font = new Font(FontFamily.GenericSansSerif, 18.0F, res);