Обработчик событий для работы с текстом

Для работы с текстом клиентской области нашего приложения предусмотрено два обработчика событий, соответствующих командам меню очистка и преобразование.

Обработчик события очистка текста содержит один метод редактора текстов richTextBox1, который удаляет все строки текста:

private void clearTToolStripMenuItem_Click(object sender,

EventArgs e)

{

richTextBox1.Clear();

}

Обработчик события преобразования текста предназначен для выделения из текста клиентской области значений матрицы 6*6, обычно считанной из файла.

Исходный код метода обработки текста имеет следующий вид:

private void obraboToolStripMenuItem_Click(object sender, EventArgs e)

{

string ss;

string[] clova;

int k, n;

int[] masi = new int[100];

n = 0;

ss = richTextBox1.Text;

clova = ss.Split('\t', ' ');

for (int i = 0; i < clova.Length; i++)

{

k = clova[i].Length;

if (k == 2 || k == 3)

{

masi[n] = Int32.Parse(clova[i]); n++; }

richTextBox1.AppendText(i.ToString() + " = " + clova[i] +

" k= " + k.ToString() + "\n");

}

int j1, j2; j1 = j2 = 0;

for (int i = 0; i < 36; i++)

{

a[j1, j2] = masi[i];

j2++;

if (j2 == 6) { j1++; j2 = 0; }

if (j1 == 6 && j2 == 6) break;

}

}

Здесь необходимы некоторые комментарии.

Объявлен массив clova типа string, в который из текста клиентской области приложения с помощью метода Split заносятся любые сочетания символов выделенных знаком табуляции, пробелом или возвратом:

ss = richTextBox1.Text;

clova = ss.Split('\t',' ','\n');

Определяется общее количество слов текста clova.Length.

В цикле все слова длиною 2 или 3 символа преобразуются в целые числа и записываются в массив целых чисел masi. Одновременно все слова и их длина выводятся на экран в клиентскую область (для контроля).

В последней части обработчика события выделенные целые числа из массива переписываются в матрицу 6´6.

Примерный вид содержимого клиентской области:

Матрица создана

12 34 94 54 39 53

59 23 49 99 53 48

66 27 48 46 67 47

92 15 16 85 75 73

33 19 56 38 95 53

24 39 40 16 81 49

0 = Матрица k= 7

1 = создана k= 7

2 = k= 0

3 = k= 0

4 = 12 k= 2

5 = 34 k= 2

6 = 94 k= 2

7 = 54 k= 2

8 = 39 k= 2

9 = 53 k= 2

10 = k= 0

11 = 59 k= 2

12 = 23 k= 2

13 = 49 k= 2

14 = 99 k= 2

15 = 53 k= 2

16 = 48 k= 2

17 = k= 0

18 = 66 k= 2

19 = 27 k= 2

20 = 48 k= 2

21 = 46 k= 2

22 = 67 k= 2

23 = 47 k= 2

24 = k= 0

25 = 92 k= 2

26 = 15 k= 2

27 = 16 k= 2

28 = 85 k= 2

29 = 75 k= 2

30 = 73 k= 2

31 = k= 0

32 = 33 k= 2

33 = 19 k= 2

34 = 56 k= 2

35 = 38 k= 2

36 = 95 k= 2

37 = 53 k= 2

38 = k= 0

39 = 24 k= 2

40 = 39 k= 2

41 = 40 k= 2

42 = 16 k= 2

43 = 81 k= 2

44 = 49 k= 2

45 = k= 0

46 = k= 0

После визуальной проверки клиентскую область можно очистить.

Далее запускаем режим печати матрицы (смотри рисунок 5.4):

Рисунок 5.4 – Печать матрицы после преобразования клиентской области текста.

Видно, что нет привычного сообщения «Матрица создана».

Вопросы для самопроверки

1 Какие элементы управления относятся к диалоговым категориям?

2 Какой элементы управления предназначен для создания и обслуживания диалогового окна открытия файла?

3 Какой метод отображает на экране стандартное диалоговое окно системы Windows для выбора файла при его открытии?

4 Как настроить элемент управления OpenFileDialog на открытие только текстовых файлов?

5 Что произойдет, если в диалоговом окне открытия файла пользователь кликнул на кнопку «Открыть»?

6 Что означает часть условия openFileDialog1.FileName.Length > 0

в записи:

if (openFileDialog1.ShowDialog() == DialogResult.OK && openFileDialog1.FileName.Length > 0)?

7 Какой метод элемента управления RichTextBox1 используется для открытия файла?

8 Для чего предназначен элементы управления SaveFileDialog?

9 Что определяет свойство FileName элемента управления SaveFileDialog?

10 Что определяет параметр RichTextBoxStreamType.PlainText метода richTextBox1.SaveFile?



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: