Работа с элементом управления 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 WindowsFormsApplication1 { 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.Text; namespace WindowsFormsApplication1 { 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() + " точек попадет в круг } } }
|