WinForm中FastColoredTextBox(XML语言)样式修改:如何更改蓝红配色?
修改FastColoredTextBox的XML语法高亮颜色
你当前的代码仅修改了编辑器的基础外观(背景色、行号色、选中高亮等),但XML语法里的蓝色(比如标签名)、红色(比如属性值)属于语法高亮规则,需要单独修改对应的Style对象才能生效。
直接在你的ApplyDarkTheme方法中添加以下代码,就能自定义这些颜色:
public void ApplyDarkTheme() { this.BackColor = Color.FromArgb(30, 30, 30); // Editor background this.ForeColor = Color.FromArgb(220, 220, 220); // Editor text this.IndentBackColor = Color.FromArgb(45, 45, 48); // Indentation background this.ServiceLinesColor = Color.FromArgb(50, 50, 50); // Service lines this.LineNumberColor = Color.FromArgb(43, 145, 175); // Line numbers this.SelectionColor = Color.FromArgb(60, 75, 110, 175); // Selection color this.CurrentLineColor = Color.FromArgb(40, 40, 40); // Current line highlight // ------------ 新增:修改XML语法高亮颜色 ------------ // XML标签名(默认蓝色) this.Styles[StyleIndex.XmlTag].ForeColor = Color.FromArgb(180, 180, 255); // XML属性名(默认深蓝色) this.Styles[StyleIndex.XmlAttribute].ForeColor = Color.FromArgb(120, 200, 255); // XML属性值(默认红色) this.Styles[StyleIndex.XmlValue].ForeColor = Color.FromArgb(255, 120, 120); // XML注释(可选修改) this.Styles[StyleIndex.XmlComment].ForeColor = Color.FromArgb(100, 180, 100); }
注意事项
- 确保控件的
Language属性已设置为Language.XML,否则这些语法样式不会被应用。 StyleIndex枚举包含了各种语法元素的索引,你可以根据需要调整其他XML相关的样式(比如XmlCData、XmlDoctype等)。
内容的提问来源于stack exchange,提问作者Arda Nalbant
相关产品推荐
相关产品推荐

