Лабораторная работа 3
.pdf
private void toolStripButton3_Click(object sender, EventArgs e)
{
Application.Exit();
}
Запустите приложение и убедитесь, что оно позволяет добавлять и удалять строки в TextBox (Рис. 8).
Рис. 8. Демонстрация добавления и удаления строк Удалять строки можно и так (ровно как добавлять и вставлять):
if(textBox1.Lines.Length > 0)
{
string[] vsS = textBox1.Lines;
string[] vsS1 =new string[vsS.Length-1]; textBox1.Text = "";
//Удаляем нулевую строку
for(int i=0; i < vsS.Length-1; i++)
{
vsS1[i]=vsS[i+1];
}
textBox1.Lines = vsS1;
}
else
{
//Удалять нечего return;
}
Вывод текстовой информации в контрол RichTextBox
Основные свойства RichTextBox
Измените предыдущее решение, удалив коды обработчиков событий нажатия Button1 и Button2. Удалите контрол TextBox и на его место поместите контрол RichTextBox. Рассмотрим его свойства на страничке Properties. Большинство их них аналогичны описанным ранее для уже рассмотренных контролов.
Свойство AcceptButton позволяет закрепить кнопку, клик которой будет выполняться при нажатии Enter когда RichTextBox в фокусе (например, после ввода).
WordSelection если равно true, то пользователь может двойным щелчком на любой части слова в контроле сделать его выделенным.
BulletIndent и SelectionBullet - BulletIndent определяет отступ в пикселях текста перечислений (пунктов списка) от иконки соответствующей пункту списка при значении свойства SelectionBullet=true.
Пример из Help С#:
private void toolStripButton1_Click(object sender, EventArgs e)
{
//Очистить все richTextBox1.Clear(); richTextBox1.SelectionBullet = true;
//Устанавливаем отступ в пикселях для пунктов списков richTextBox1.BulletIndent = 50; richTextBox1.SelectionFont = new Font("Arial", 16); //Выводим текст на который не влияет установленный
//отступ (SelectionBullet=false) richTextBox1.SelectedText = "Ниже список\n"; richTextBox1.SelectionFont = new Font("Arial", 12); //Далее список
richTextBox1.SelectionBullet = true; richTextBox1.SelectionColor = Color.Red; richTextBox1.SelectedText = "Яблоко" + "\n"; richTextBox1.SelectionFont = new Font("Arial", 12); richTextBox1.SelectionColor = Color.Orange; richTextBox1.SelectedText = "Апельсин" + "\n"; richTextBox1.SelectionFont = new Font("Arial", 12); richTextBox1.SelectionColor = Color.Purple; richTextBox1.SelectedText = "Виноград" + "\n"; richTextBox1.SelectionBullet = false; richTextBox1.SelectionFont = new Font("Verdana", 10); richTextBox1.SelectedText = "Список закончился\n";
}
Результат вывода представлен на Рис. 9.
Рис. 9. Результат использования свойств SelectionBullet и BulletIndent
Свойство DetectUrls позволяет распознавать и выделять интернетовские ссылки и запускать браузер по этой ссылке при наличии в решении кода обработчика события LinkClicked следующего вида (Рис. 10):
private void toolStripButton3_Click(object sender, EventArgs e)
{
richTextBox1.Text = "Мой сайт http:\\wladm.narod.ru";
}
private void richTextBox1_LinkClicked(object sender, LinkClickedEventArgs e)
{
System.Diagnostics.Process.Start(e.LinkText);
}
Рис. 10. Использование свойства DetectUrls
Свойство ZoomFactor позволяет одновременно изменять масштаб вывода текста в RichTextBox в пределах значений 0.64 - 64.0.
Свойство Ime Mode задает или возвращает состояние IME (Input Method Editor - IME - редактор способа ввода). Вместе со свойством RightToLeft определяют направление текста и способ его редактирования (свойства не актуальны для европейских языков, в том числе и для русского) - более необходимы при вводах иероглифических текстов на китайском, арабском, корейском и японском языках (при соответствующих Windows).
Значение по умолчанию NoControl.
Все остальные свойства richTextBox повторяют свойства TextBox.
Задание к лабораторной работе.
Модифицировать программу-калькулятор из лабораторной работы №2, добавив в нее:
–возможность работы с памятью (сохранить и извлечь результат из памяти);
–панель инструментов;
–строку состояния, отображающую, например, количество выполненных операций, содержимое памяти калькулятора;
–подсказки для всех кнопок;
–поле, в котором отображаются все выполненные операции (лог).
