You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 11:25:58