Работа с элементом управления RichTextBox

Элемент управления Windows Forms RichTextBox используется для отображения, ввода и изменения текста (если необходимо, с форматированием). Методы этого класса предоставляют возможности, схожие с возможностями текстовых редакторов, например, таких как Microsoft Word. По сравнению с классом TextBox он обладает более широкими возможностями. В частности, позволяет считывать данные из файла, а также выводить в файл.

Откройте окно конструктора Windows Forms с формой Windows.

1. В меню «Вид» выберите команду «Панель элементов», чтобы открыть список элементов управления.

2. Разверните список «Стандартные элементы управления» и перетащите два элемента управления RichTextBox и кнопку на форму.

3. Дважды щелкните на кнопку, чтобы Visual C# вставил метод с именем button1_Click и дважды щелкните на форму Windows (Form1), чтобы Visual C# вставил метод с именем Form1_Load.

Пример 8.4.Вычислить сумму r = a + b + c, используя элемент управления RichTextBox. Значение a поместим в первую строку, два других, разделенных пробелом, – во вторую строку RichTextBox1. Результат поместим RichTextBox2:

namespace WindowsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

 

private void Form1_Load(

object sender, EventArgs e)

{

 

}

 

private void button1_Click(

object sender, EventArgs e)

{

int r;

string text = richTextBox1.Text;

string[] s = text.Split(' ', '\n');

int a = int.Parse(s[0]);

int b = int.Parse(s[1]);

int c = int.Parse(s[2]);

r = a + b + c;

richTextBox2.AppendText("Результат"+"\n");

richTextBox2.AppendText(r.ToString());

}

}

}

Метод Split осуществляет разбор текста, введенного в RichTextBox1, выделяя в массив s последовательности символов, разделенных пробелом или символом перевода строки (см. гл. 6), преобразуя их далее в переменные типа int. Для вывода результата в RichTextBox2 полученное числовое значение должно быть преобразовано в текстовую форму (метод ToString) и при помощи метода AppendText добавлено в richTextBox2.

Пример 8.5. Координаты произвольного количества точек на плоскости размещены в файле Koord.txt, сохраненном на диске С в папке (директории) st по два числа (x и y) в строке. В первой строке файла размещено одно число – радиус окружности r. Требуется определить, сколько точек попадет в круг радиусом r (см. пример 6.1):

using System;

using System.Text;

using System.Windows.Forms;

namespace WindowsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void Form1_Load(

object sender, EventArgs e)

{

string path = "c:\\st \\Koord.txt";

//метод читает данные из файла в элемент

//управления

richTextBox1.LoadFile(path,

RichTextBoxStreamType.PlainText);

}

private void button1_Click(

object sender, EventArgs e)

{

string text = richTextBox1.Text;

string[] s = text.Split(' ', '\n');

int r = int.Parse(s[0]);

int n = 0;

richTextBox2.AppendText(

"Координаты точек" + "\n");

for (int i = 1; i < 6; i += 2)

{

int x = int.Parse(s[i]);

int y = int.Parse(s[i + 1]);

richTextBox2.AppendText(

x.ToString() + " " + y.ToString()

+ "\n");

if (x * x + y * y < r * r) n = n + 1;

}

richTextBox2.AppendText(

n.ToString()

+ " точек попадет в круг радиуса "

+ r.ToString() + "\n");

}

}

}