Выделение / выделение определенного текста в текстовом поле

1

Итак, у меня есть текстовое поле с временем, которое выглядит так:

Изображение 174551

Когда вы нажимаете в текстовом поле, и вы нажимаете на часовую часть, как это;

Изображение 174551

Это должно выглядеть так;

Изображение 174551

То же самое касается минут, поэтому, когда вы находитесь в минутной части текстового поля, как это;

Изображение 174551

Тогда это должно выглядеть так;

Изображение 174551

В основном, что я пытаюсь сделать, это сделать выбор/выделение программы для вас. В зависимости от того, на что вы нажали.

То, что я пробовал до сих пор, это так;

Что должно произойти, когда вы "выбираете" часовую часть:

textBox1.SelectionStart = 0; // The start of the selection
   textBox1.SelectionLength = 2; //Untill the ":" which seperates the hours from minutes

Это будет работать, текст будет выбран как изображение трети.

И эта часть:

textBox1.SelectionStart = 3; // The start of the selection, in this case after the ":"
       textBox1.SelectionLength = textBox1.Text.Length; //Untill the end

Я знаю, что вы должны написать простой оператор if для этого.

Но моя проблема в том, как я могу проверить, в какой части находится "курсор", в текстовом поле?

  • 1
    Это всегда в textBox1.SelectionStart
Теги:
winforms
highlight

1 ответ

1
Лучший ответ

С началом выбора вы можете узнать, где находится ваш курсор в текстовом поле.

private void textBox1_MouseClick(object sender, MouseEventArgs e)
            {
                if (textBox1.SelectionStart < 3)
                {
                    textBox1.SelectionStart = 0;
                    textBox1.SelectionLength = 2;
                }
                else if (textBox1.SelectionStart > 2)
                {
                    textBox1.SelectionStart = 3;
                    textBox1.SelectionLength = textBox1.Text.Length;
                }
            }

Если if-statement является истинным, я выберу определенный текст, например, если ваш SelectionStart равен 0, что означает, что он находится в начале текстового поля, будут выделены первые 2 цифры.

Он должен работать с этими 2 if-утверждениями.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню