BillWoodruff
Вы можете сделать это с помощью одной строки кода:
1 установить многострочный, AcceptsTab, и AcceptsReturn свойства текстового поля textbox1, чтобы было правдой.
2 Установите для свойств Multiline, AcceptsTab и AcceptsReturn textBox2 значение 'false.
Примечание: это значения по умолчанию.
3 в кнопке 'Click EventHandler:
textBox2.Text = textBox1.Text;
Теперь не удивляйтесь, если, когда в textBox1 нет пробела в конце каждой строки, то в textBox2 вы получаете строки, Идущие вместе. Я бы предположил, что вы действительно не хотите потерять все указания на то, где заканчивались линии ... так что:
private Char myLineDelimiter = '|';
private bool doTrimLines = true;
private void MoveTextButton_Click(object sender, EventArgs e)
{
StringBuilder sb = new StringBuilder();
foreach (string line in textBox1.Lines)
{
sb.Append(doTrimLines ? line.Trim() : line); // see note
sb.Append(myLineDelimiter);
}
textBox2.Text = sb.ToString();
}
Использование 'StringBuilder позволяет избежать избыточного потребления памяти, которое может возникнуть при манипулировании большими коллекциями строк: он используется здесь скорее по привычке, чем по необходимости.
Примечание: Вы действительно хотите обрезать пробелы в каждой строке ? Если вы не обрезаете строки, а строки имеют пустое пространство, состоящее из вкладок, эти вкладки появятся в textBox2, даже если вы установите его свойство AcceptsTab в 'false: это ошибка в текстовом поле.