Покажем, как выполнить перенос строки в TextBox с атрибутом Multiline (когда текстовое поле занимает несколько строк). Сделаем это на примере программы в Windows Forms и языка C#.
Создание интерфейса программы для демонстрации переноса строки в TextBox
Создадим проект Windows Forms. На окне формы расположим два элемента управления: кнопку (Button) и текстовое поле (TextBox). В кнопке параметру Text зададим значение «Прочитать файл», поскольку текст в TextBox будем считывать из файла.
Далее займёмся настройкой TextBox. Нажмите правой кнопкой на данном элементе управления и перейдите к Свойствам.
Значение атрибута Multiline установим, как True. Это позволит выводить в TextBox текст в несколько строк, а не в одну.
Далее активируем полосы прокрутки у TextBox. Это позволит удобнее просматривать и работать с многострочным текстом. Для активации параметр ScrollBars переведём в положение Both — полосы будут по обоим измерениям: по горизонтали и по вертикали.
Растянем TextBox по горизонтали до низа формы и получим нечто подобное:
Интерфейс программы готов.
Создание кода программы для показа возможности перехода на новую строку в TextBox
В Visual Studio два раза щёлкнем на кнопку (Button). Откроется редактор кода обработки нажатия на кнопку. Добавим следующие строки:
1 2 3 4 5 6 7 8 9 10 11 |
private void button1_Click(object sender, EventArgs e) { textBox1.Text = ""; StreamReader sr = new StreamReader("input.txt", System.Text.Encoding.Default); while (!sr.EndOfStream) textBox1.Text += sr.ReadLine() + Environment.NewLine; sr.Close(); } |
Разберём код. При нажатии на кнопку «Прочитать файл» сначала будет очищен TextBox (строка 3). Затем создастся экземпляр класса StreamReader, который необходим для чтения файла (строка 5). В конструктор экземпляра будут переданы следующие аргументы: имя входного файла (input.txt) и его кодировка (по умолчанию).
Далее в цикле while происходит построчное чтение файла до конца (строки 7-8). При этом к каждой считанной строке добавляется элемент Environment.NewLine. Он производит переход курсора на новую строку.
Считывающий поток закрывается с помощью метода Close (строка 10).
Конец файла определяется с помощью значения EndOfStream. Когда достигнут конец оно равно true; в остальных случаях — false.
Значение Environment.NewLine является универсальным для любого окружения, поэтому его предпочтительнее использовать, чем управляющие символы. Но если очень хочется, то переход на новую строку можно выполнить и так:
1 |
textBox1.Text += sr.ReadLine() + '\r' + '\n'; |
Обратите внимание, что используется два управляющий символа: возврат каретки \r и переход на новую строку \n. Если не использовать возврат каретки, то ничего не сработает и весь текст будет записан в одну строку.
Написание кода для программы, демонстрирующей перенос строки в TextBox с Multiline, завершено. Теперь подготовим входной файл с текстом.
Его необходимо поместить в каталог ../bin/Debug из папки с проектом.
Запустим программу и посмотрим переход на новую строку в TextBox в действии. Нажмём на кнопку «Прочитать файл».
Скачать исходник программы для Visual Studio из данного урока программирования, можно, нажав на кнопку ниже:
Скачать исходник
В статье был разобран перенос строки в TextBox с Multiline в программе Windows Forms на языке программирования C#. Спасибо за прочтение!
Поделиться в соц. сетях: