radix3 Ответов: 7

Кнопка для работы в качестве клавиши Backspace в C#


Привет,
Я работаю над формой windows, где я беру richtextbox и одну кнопку теперь мой запрос заключается в том, что я хочу, чтобы то, что так когда-либо написано на моем richtextbox, должно исчезнуть один за другим при нажатии этой кнопки

Пример: допустим, на моем richtextbox написано 123, а затем при нажатии этой кнопки сначала 3 должны исчезнуть, а затем 2, а затем 1...

кроме того, я включил свойство richtextboxs readonly в true и установил его максимальную длину в 10
я пытался
private void button1_Click(object sender, EventArgs e)
        {
            richTextBox1.Text = "\b";
        }


но не получилось его работа понравилась
richTextBox1.Clear();


и еще я пытался

if (richTextBox1.TextLength != 0)
            {
                int x = richTextBox1.TextLength;
                x += -1;
               
            }


но я не знаю, что добавить дальше

да и если курсор находится посередине то тоже он должен удалять текст из своего текущего местоположения один за другим

Пожалуйста, пожалуйста, помогите мне

Спасибо и с уважением
Корень

_Damian S_

Вы говорите, что хотите удалить последний символ, но что делать, если курсор находится где-то в середине текста? Разве вы не хотите, чтобы он был удален там, где находится курсор?

radix3

Спасибо Вам мистер Дамиан сэр за то что помогли мне улучшить мой вопрос спасибо

7 Ответов

Рейтинг:
56

khalid khatri

Привет

Вы пишете этот код события щелчка кнопки для заднего пространства

<br />
richTextBox1.Text = richTextBox1.Text.Remove(richTextBox1.Text.Length - 1, 1);<br />



Надеюсь На Помощь


saloni15

Причина моего голосования 5
его легко реализовать..

ranjitkumarr

милый

Рейтинг:
2

AspDotNetDev

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

Используйте строку.Подстрока для извлечения части строки. Один вы его извлекаете (вам понадобится две строки.Если курсор находится в середине текста, поэтому вам придется объединить строки), вы затем назначите результат обратно в richTextBox1.Text.

Имейте в виду, что нажатие кнопки отвлечет внимание от richtextbox. Когда кнопка будет нажата, вы захотите восстановить фокус (и восстановить положение курсора туда, где он был до нажатия кнопки).


Рейтинг:
2

hungduong_hedspi

private void button1_Click(object sender, EventArgs e)
        {
            int i = richTextBox1.Text.Length;
            richTextBox1.Text = richTextBox1.Text.Substring(0, i - 1);
        }


Рейтинг:
0

vishweshh

//В этом вам помогут кнопки для работы в качестве кнопки "Backspace". На событие click кнопки напишите следующий код.

показатель инт = richtextbox1 отображение.Объект selectionstart;
richtextbox1 отображение.Текст = richtextbox1 отображение.Текст.Удалить(richtextbox1 отображение.Объект selectionstart - 1, 1);
richTextBox1.Select(индекс - 1, 1);
richtextbox1 отображение.Сосредоточить();

//Это сработало для меня.


Рейтинг:
0

V.Lorz

И еще одна альтернатива на случай если вы всегда хотите удалить только последний символ:

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


[no name]

Серьезно? Неужели вы действительно думаете, что через 3 года ОП все еще ждет ответа?

Рейтинг:
0

Member 9871483

if (focusedTextbox.SelectionStart>0)
          {
          int index = focusedTextbox.SelectionStart;
          focusedTextbox.Text = focusedTextbox.Text.Remove(focusedTextbox.SelectionStart - 1, 1);
          focusedTextbox.Select(index - 1, 1);
          focusedTextbox.Focus();
      }


[no name]

Серьезно? Неужели вы действительно думаете, что через 3 года ОП все еще ждет ответа?

Рейтинг:
0

Member 13879945

if (richTextBox1.TextLength != 0)
            {
                richTextBox1.Text = richTextBox1.Text.Remove(richTextBox1.Text.Length - 1, 1);
            }
            else { return; }


Это сработало для меня


Maciej Los

8 лет слишком поздно!

CHill60

Это всего лишь репост решения, опубликованного 8 лет назад (решение 2). Не перепечатывайте чужие решения

Member 14597074

не обращайте внимания на эти негативные нюансы ваши решения сработали идеально

CHill60

Ха - ха - конечно же, это решение сработало идеально-оно было скопировано с принятого ответа!