语法着色之后或之前无法设置ScintillaNet文本样式

时间:2011-02-22 22:54:53

标签: scintilla

var scin = new Scintilla();
ScintillaHotspotStyle = scin.Styles.LastPredefined.Index + 1;
scin.Margins[0].Width = 20;
scin.Caret.HighlightCurrentLine = true;

scin.Styles[ScintillaHotspotStyle].IsHotspot = true;
scin.Styles[ScintillaHotspotStyle].Underline = true;
scin.Styles[ScintillaHotspotStyle].ForeColor = System.Drawing.Color.Blue;

var contents = File.ReadAllText(file);
scin.Text = contents;

//scin.ConfigurationManager.Language = "cpp";
//scin.ConfigurationManager.Configure();

scin.GetRange(2, 5).SetStyle(ScintillaHotspotStyle);

//scin.ConfigurationManager.Language = "cpp";
//scin.ConfigurationManager.Configure();

注释行的顺序无关紧要,也不执行对.Configure()的调用 - 结果是相同的: Not working

但是,如果我不应用语法高亮,它确实有效: Working

Scintilla非常混乱,所以我可能做错了什么 - 但我不确定是什么......

1 个答案:

答案 0 :(得分:0)

我认为语法hiliting是在你的工作之后应用的。 或者,如果你阅读scintilla文档似乎比热点样式有限制功能。

“”” 插入符号,选择和热点样式

通过更改前景色和/或背景色来显示选择。如果未设置其中一个,则不会更改该属性以进行选择。默认设置是通过将背景更改为浅灰色并使前景与未选择时相同来显示选择。如果没有选择,则当前插入点由文本插入符标记。这是一条垂直线,通常会闪烁,以吸引用户注意。 “”“

你是否试图在一个没有语法浑浊的区域强迫这种风格? 以main或print为例。

通过设置背景颜色来尝试。