Есть ли способ программно навести курсор на конкретное слово? - PullRequest
0 голосов
/ 21 мая 2019

В настоящее время у меня есть консольное приложение, которое я использую через командную строку с файлом. Данный файл теперь становится огромной строкой. Эта строка разбивается на массив слов. Этот массив ищется с помощью foreach для моего поискового запроса. Теперь мой вопрос состоит в том, как решить проблему, так как фокус находится непосредственно на первом найденном слове, и это слово выделено.

var splittedTxt = text.Split(' ');

        if (decisionForWholeWords == true && decisionForSpelling == false)
        {
            foreach (var item in splittedTxt)
            {
                if (wordToFind.ToLower() == item.ToLower())
                {
                    Console.BackgroundColor = ConsoleColor.Red;

                    wordFound = true;
                }
                Console.Write(item);
                if (wordFound) // reset color
                {
                    Console.BackgroundColor = ConsoleColor.Black;

                    wordFound = false;
                }
                Console.Write(" ");
            }
        }

Ответы [ 2 ]

1 голос
/ 21 мая 2019
if (decisionForWholeWords == true && decisionForSpelling == false)
{
        int index = 0;
        foreach (var item in splittedTxt)
        {
            //do what you want the index.
            if (wordToFind.ToLower() == item.ToLower())
            {
                Console.BackgroundColor = ConsoleColor.Red;

                wordFound = true;
            }
            Console.Write(item);
            if (wordFound) // reset color
            {
                Console.BackgroundColor = ConsoleColor.Black;

                wordFound = false;
            }
            Console.Write(" ");

            index += item.Length;
            index += 1; //for the space
        }
    }
1 голос
/ 21 мая 2019

Вы можете установить курсор с помощью метода:

Console.SetCursorPosition(x, y);

Или используя свойства left и top:

Console.CursorLeft = x;
Console.CursorTop = y;

Вам нужно будет определить положение вашегослово и установите курсор в эту позицию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...