При добавлении слов в TextBox через код каретка не переносится в конец фразы. В чём ошибка?

На моей форме есть 2 поля TextBox, в которых я хочу сделать ввод даты следующим образом: пользователь вводит первые цифры, далее ставится точка (через код, не самим пользователем), снова вводит два числа, снова точка.
public void textBox_PreviewTextInput(object sender, TextCompositionEventArgs e)
        {
            if (((TextBox)sender).Text.Length == 2 || ((TextBox)sender).Text.Length == 5)
            {
                ((TextBox)sender).Text += ".";
            }
        }


При вышеуказанном решении точка ставится, однако каретка переносится на символ назад, как это исправить? 5e825ab4c0205881559981.png
  • Вопрос задан
  • 92 просмотра
Решения вопроса 1
@d-stream
Готовые решения - не подаю, но...
А чего не классика с datepicker https://docs.microsoft.com/ru-ru/dotnet/api/system...

ну или уж на крайний случай textbox mask https://docs.microsoft.com/en-us/windows/community...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы