Smeezy Ответов: 1

Замораживание во время обратного пробела в многострочном текстовом поле


Я нахожусь в многострочном текстовом поле. Я использую кнопку backspace, которая отлично работает для любой линии, на которой я случайно нахожусь. Когда я говорю backspace, я удаляю символы по ходу движения.

Когда я доберусь до начальной позиции (строка 3, например, это может быть 2 или 5. Он делает то же самое на всех, кроме первой строки), и снова нажимает кнопку назад, программа зависает примерно на 40 секунд, а затем я могу использовать ее снова. Я ожидал бы, что он просто подпрыгнет до конца следующей строки, точно так же, как это сделал бы удар по backspace на клавиатуре.

Что я уже пробовал:

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

private void BtnBack_Click(object sender, EventArgs e)
       {
           if (txtFCF.SelectionStart > 0)
           {
               int index = txtFCF.SelectionStart;
               txtFCF.Text = txtFCF.Text.Remove(txtFCF.SelectionStart - 1, 1);
               txtFCF.Select(index - 1, 1);
           }
       }

1 Ответов

Рейтинг:
4

BillWoodruff

Попробовать это:

private void BtnBack_Click(object sender, EventArgs e)
{
   txtFCF.Focus(); 
   SendKeys.Send("{BACKSPACE}");
}


Smeezy

Я потратил последний месяц, пытаясь понять это (это, вероятно, реальная стоимость программного обеспечения прямо там)! Большое вам спасибо, Билл!