Как переместить курсор текстового поля к последнему индексу текста? - PullRequest
1 голос
/ 30 сентября 2011

У меня есть текстовое поле, в котором пользователь может вводить данные длиной до 140 символов, после чего появляется диалоговое окно, в котором отображается достигнутый максимальный предел. Моя проблема заключается в том, что после отображения окна сообщения курсор мигает в началеtext.и также возможна дальнейшая печать. Мне нужно сделать две вещи: во-первых, курсор должен мигать в конце текста после показа окна сообщения. И затем, когда пользователь нажимает символы больше 140, его не следует вводить в текст.Пожалуйста, дайте мне решение для этого

Вот мой код.

   private void tbMessage_TextChanged(object sender, TextChangedEventArgs e)
    {
        string txt = tbMessage.Text;
        Regex regx = new Regex("\\(?\\b(http|https)://([-A-Za-z0-9+&@#/%?=~_()|!:,.;\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]*[-A-Za-z0-9+&@#/%=~_()|])");
        regx.Matches(txt);


        MatchCollection mactches = regx.Matches(txt);

        foreach (Match match in mactches)
        {
            txt = txt.Replace(match.Value, "<--------------------->");
        }
        textBlockNumberLimit.Text = txt.Length.ToString() + "/140";

        if (txt.Length > 140)
        {
            try
            {
                MessageBox.Show("Maximum limit reached", "SPRINKLR", MessageBoxButton.OK);


                tbMessage.Text = tbMessage.Text.Substring(0, tbMessage.Text.Length - 1);

            }
            catch
            {
            }
        }


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