1

私は FastColoredTextBox を使用して、極秘の C# プロジェクトに構文の強調表示を導入しています。OpenFile() メソッドには、次のコードがあります。

try
{
    editor.Clear();
    editor.InsertText(File.ReadAllText(filename));
    editor.OnTextChanged(0, editor.LinesCount - 1);
    currFilename = filename;
    ChangeWindowLabel();
    return true;
}
catch (IOException ex)
{
    MessageBox.Show("Failed to open file:\n\n" + ex.Message, Core.Product, MessageBoxButtons.OK, MessageBoxIcon.Error);
    return false;
}

ただし、次の問題があります。エディターでファイルを開いた後、構文の強調表示が適用されていないようです。上記のコードで手動で起動するエディターの TextChanged イベントでスタイリング ルールを設定します。

private void editor_TextChanged(object sender, FastColoredTextBoxNS.TextChangedEventArgs e)
{
    e.ChangedRange.ClearStyle(CommentStyle);
    e.ChangedRange.SetStyle(CommentStyle, @"!.*(\r\n)?$");

    e.ChangedRange.ClearStyle(StartEndStyle);
    e.ChangedRange.SetStyle(StartEndStyle, @"^DL (Start|End)(\r\n)?$");

    // and so on...

    e.ChangedRange.SetFoldingMarkers(@"^\t*For\(.*\)", @"\$\$\$", RegexOptions.Multiline);
}

ドキュメント全体で色の変更を強制する方法は? これは FCTB のバグですか?

4

1 に答える 1