我正在为PS3 MW2 patch_mp.ff制作.FF编辑器,我的设计完全是深色主题,一切正常,但只有一件事。数字在ICSharpCode.TextEditor.TextEditorControl内的黑色背景上显示为黑色,我从未在网上看到其他人对此问题发表过任何文章,因此无法找到解决问题的方法。
我尝试过的事情:
语法突出显示策略方法 通过XSHD文件进行外部语法高亮处理 将所有SystemColors设置为Color.White 等等。
这是我创建TextEditorControl的方式:
private TextEditorControl AddNewTextEditor(string title)
{
tab = new TabPage(title);
tab.ForeColor = Color.White;
TextEditorControl textEditorControl = new TextEditorControl();
textEditorControl.ForeColor = Color.White;
textEditorControl.Dock = DockStyle.Fill;
textEditorControl.IsReadOnly = false;
textEditorControl.ContextMenuStrip = contextMenuStrip2;
textEditorControl.Text = readgsc;
TextEditorControl Editor = textEditorControl;
Font font = new Font("Consolas", 9f);
if (font.Name == "Consolas")
Editor.Font = font;
Editor.ForeColor = Color.White;
Editor.SetHighlighting("GSC");
Editor.BorderStyle = BorderStyle.FixedSingle;
Editor.EnableFolding = true;
Editor.ShowVRuler = false;
Editor.Document.FormattingStrategy = new FormattingStrategy();
Editor.Document.FoldingManager.FoldingStrategy = new MyFolding();
Editor.IndentStyle = IndentStyle.Smart;
Editor.Document.DocumentChanged += (sender, e) => SetModifiedFlag(Editor, true);
Editor.TextChanged += new EventHandler(FileHasBeenEdited);
//BackColor Is Color.Black\\
HighlightColor highlightColor = new HighlightColor(Color.White, BackColor, false, false);
DefaultHighlightingStrategy highlightingStrategy = Editor.Document.HighlightingStrategy as DefaultHighlightingStrategy;
highlightingStrategy.SetColorFor("Default", highlightColor);
highlightingStrategy.SetColorFor("LineNumbers", highlightColor);
highlightingStrategy.SetColorFor("FoldLine", highlightColor);
highlightingStrategy.SetColorFor("Digits", highlightColor);
tab.Enter += delegate (object sender, EventArgs e)
{
TabPage tabPage = (TabPage)sender;
//tabPage.BeginInvoke(new Action<TabPage>(delegate (TabPage p) {p.Controls[0].Focus();}), new object[]
//{
// tabPage
//});
};
tab.Controls.Add(Editor);
//fileTabs is a TabControl With No Tabs Until Added Programatticaly\\
fileTabs.Controls.Add(tab);
fileTabs.SelectedTab = tab;
if (_editorSettings == null)
{
_editorSettings = Editor.TextEditorProperties;
OnSettingsChanged();
}
else
Editor.TextEditorProperties = _editorSettings;
return Editor;
}
结果是我需要什么
我可以在黑色主题上阅读的数字。
请注意:此问题是由于系统设置了颜色,此问题仅在Windows 10之前的OS上发生(将90%的文本设置为黑色的人)
如果有一种方法可以将SystemColors.ControlText强制更改为另一种颜色,那可能会起作用。
答案 0 :(得分:0)
答案:添加:
<Digits name = "Digits" bold = "false" italic = "false" color = "White"/>
到我的语法突出显示文件中,再结合我的突出显示策略,然后将您想要的白色设置为:
Color.FromArgb(255, 255, 255);
那应该覆盖所有系统颜色。
如果其他有此问题的人需要帮助,请通过http://discord.me/Poppy
在Discord上使用hmu