Как я могу добавить зарезервированные ключевые слова C # и разрешить выбор цвета в моем собственном текстовом редакторе - PullRequest
0 голосов
/ 25 октября 2019

У меня есть задание, которое требует от меня создания текстового редактора, который должен выделять ключевые слова C #, и они должны настраиваться пользователем.

string pattern = "";
string[] keywords =
{
    "bool", "byte", "sbyte", "short", "ushort", "int", "uint", "long", "ulong", "double", "float", "decimal",
    "string", "char", "void", "object", "typeof", "sizeof", "null", "true", "false", "if", "else", "while", "for", "foreach", "do", "switch",
    "case", "default", "lock", "try", "throw", "catch", "finally", "goto", "break", "continue", "return", "public", "private", "internal",
    "protected", "static", "readonly", "sealed", "const", "fixed", "stackalloc", "volatile", "new", "override", "abstract", "virtual",
    "event", "extern", "ref", "out", "in", "is", "as", "params", "__arglist", "__makeref", "__reftype", "__refvalue", "this", "base",
    "namespace", "using", "class", "struct", "interface", "enum", "delegate", "checked", "unchecked", "unsafe", "operator", "implicit", "explicit"
};

foreach (var a in keywords)
{
    pattern += a + "|";
}

Regex R = new Regex(pattern);
int index = rchtxt1.SelectionStart;

foreach (Match m in R.Matches(rchtxt1.Text))
{
    rchtxt1.Select(m.Index, m.Value.Length);
    rchtxt1.SelectionColor = Color.Blue;
    rchtxt1.SelectionStart = index;
}
rchtxt1.SelectionColor = Color.Black;

ожидаемый результат заключается в том, что когда я нажимаю на кнопку, янужно уметь менять цвет переднего плана C # Ключевые слова

...