2017-01-13 1 views
-5

Как редактировать данные в расширенном текстовом поле. Я использую кнопку, чтобы щелкнуть. Когда я нажму на него, в расширенное текстовое поле добавится больше данных. Но когда я нажимаю на него, он удаляет текущие данные из окна и заменяет их новым. Как это сделать, чтобы старые данные и новые данные оставались на месте?Как редактировать данные из богатого текстового поля без удаления текущих данных в C#

+0

как вы это делаете? – bansi

+2

'thebox.AppendText (« Я добавлен в текущую позицию »);' –

+0

Пожалуйста, покажите нам свои усилия. – sheshadri

ответ

0

Assumming в данный момент вы просто установив значение .Text равное вас новое значение, как показано ниже:

richTextBox1.Text = "Some More Text"; 

Когда ты сделайте это, вы изменяете значение строки только для нового значения. Что вам нужно сделать, это добавить строку, которую вы хотите добавить в конец текущей строки. Вы можете сделать это следующим образом:

private void button1_Click(object sender, EventArgs e) 
{ 
    richTextBox1.Text += "Some More Text"; 
} 

Это добавит текст Some More Text до конца вам текущее значение, когда кнопка нажата. Если вы хотите добавить его к началу или другому более сложному пути, вы должны получить доступ к существующей строке, используя richTextBox1.Text, а затем объединить ее в нужное положение. Такие как:

private void button1_Click(object sender, EventArgs e) 
{ 
    richTextBox1.Text = richTextBox1.Text + "Some More Text"; 
} 

Вышеприведенное добавит вашу новую строку к началу вашего Rich Text, а не к концу.

+0

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

+0

@AlexK. Это хорошо знать, это не метод, который я когда-либо встречал раньше. Спасибо за информацию! –

+0

@AlexK. Позволяет ли вам добавлять текст в конец строки, можно ли выбрать позицию для вставки? Я собираюсь взглянуть на документы теперь –

1

Использовать .AppendText(String) вместо .Text.

Это будет дорого, и вы можете легко запустить в OutOfMemoryExceptions, если вы сделаете это слишком много. Я предлагаю следующее некоторые советы here.

0

Try This

string Text = "here your text to append"; 

richtext.Text += " " + Text; 
Смежные вопросы