Вывод текстовой информации в контрол RichTextBox 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Вывод текстовой информации в контрол RichTextBox



Удалим с формы контрол TextBox и на его место поместим контрол R ichTextBox. Рассмотрим его свойство на страничке Properties. Большинство свойств аналогичны описанным ранее для уже рассмотренных контролов. Рассмотрим те свойства, которых не было у уже использованных нами контролов.

Свойство AcceptButton позволяет закрепить кнопку, клик которой будет выполняться при нажатии Enter когда RichTextBox в фокусе (например, после ввода).

Свойство WordSelection если оно true, позволяет пользователю двойным щелчком на любой части слова в контроле сделать его выделенным.

Свойство 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";}

Результат вывода показан на рисунке 1.16.

 

Рисунок 1.16 – Результат вывода

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ

Используя компоненты (контролы) списка, редактируемого ввода и кнопки (либо другие компоненты ввода и отображения текстовой информации), выполните по нажатию кнопки

 

1. Вывод списка цветов радуги в упорядоченном и произвольном порядке.

2. Ввод слова и вывод его зеркального отображения.

3. Многократный вывод стихотворения «Пусть всегда будет солнце».

4. Ввод фамилии студента и отображение его успеваемости в произвольном порядке (например, «Иванов - двоечник»).

5. Вывод прямой квадратичной последовательности (т.е. 1,4,9,16 и т.д.).

6. Вывод всех градусов окружности через указанный промежуток.

7. Вывод планет солнечной системы (начиная с Меркурия) и следующей по списку планеты.

8. Вывод результатов расчета расстояния, пройденного телом через 5,10…30 секунд после падения (V0 =0).

9. Вывод знаков зодиака в произвольном порядке (без повторов с указанием конца списка)

10. Вывод колоды карт по старшинству (сформировать 2 массива – «масть» и «величина»).

 

Лабораторная работа № 2

 

Работа с контролами CheckBox, RadioButton

идиалоговыми окнами MessageBox

 

1. Контрол CheckBox

Необходим для ответа ДА/НЕТ, хотя данный контрол в его настоящем имеет еще одно состояние - неопределенное.

Свойства:

1. Text - Надпись рядом с галочкой. Обычно вопрос.

2. CheckState - Состояние контрола. (Отмечен/ не отмечен/ неопределенно)

3. ThreeState - Указывает позволять или нет выбирать третье состояние (Неопределенное)

4. Checked - Возвращает true если контрол отмечен, false если не отмечен

События:

Основным событием является CheckedChanged – работает, когда изменено состояние контрола. Пример изменения совйства Text

private void checkBox1_Click(object sender, System.EventArgs e)

{

// изменение свойства Text

if (checkBox1.Checked)

{ checkBox1.Text = "Checked"; }

else

{ checkBox1.Text = "Unchecked"; }}

Пример: вывод сообщения, при выборе checkBox1.

private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
MessageBox.Show(checkBox1.Checked.ToString());

}

2. Контрол RadioButton

RadioButton по свойствам схож с контролом CheckBox. Он также имеет свойство Checked, определяющее текущее состояние кнопки: нажата она или нет. Отличие RadioButton от CheckBox заключается в том, что группа объектов CheckBox позволяет выбрать комбинацию значений, а группа объектов RadioButton - только одно значение.

 

Свойства:

1. Text - вариант ответа

2. Checked - возвращает true если контрол отмечен, false если не отмечен

События:

CheckedChanged – отрабатывает, когда изменено состояние контрола, для чего приходится использовать свойство Checked у каждого контрола входящего в группу

 

3. Диалоговые окна MessageBox

При написании программ возникает необходимость выводить пользователю сообщения (например, нужно вывести сообщение об ошибке), либо спросить у пользователя о чем-то и получить от него ответ. Для этого используется класс MessageBox.

У MessageBox имеется метод - Show (), которые показывает модальное диалоговое окно. Его используют как по прямому назначению - вывод информации пользователю так и для отладочных целей. Поскольку в этом классе метод один, давайте подробно рассмотри все его перегруженные варианты.

Первый самой простой - вывод текста, передаваемого в параметре string, в модальное окно (рис. 2.1).

MessageBox.Show("Привет");

 

Рисунок 2.1 – Окно MessageBox

 

Добавим заголовок окна (рис. 2.2).

MessageBox.Show("Привет","Мое окно");

Рисунок 2.2 – Окно MessageBox с заголовком

Для того, чтобы спросить что-то у пользователя, нужно добавить на форму нужные кнопки из перечисления MessageBoxButtons (рис. 2.3).

MessageBox.Show("Привет","Мое окно",MessageBoxButtons.YesNoCancel);

 

Рисунок 2.3 – Окно MessageBox с заголовком и тремя вариантами ответа

 

В окне можно добавить иконку из перечисления MessageBoxIcon (рис. 2.4)

MessageBox.Show("Привет","Мое окно",MessageBoxButtons.YesNoCancel,MessageBoxIcon.Information);

 

Рисунок 2.4 – Окно MessageBox с заголовком, тремя вариантами ответа и иконкой

 

Из перечисления MessageBoxDefaultButton можно выбрать кнопку по умолчанию. Вот в принципе и все с этим замечательным классом, осталось только показать как узнать кнопку, которую нажал пользователь. Метод Show возвращает объект типа DialogResult, им-то мы и воспользуемся:

if (MessageBox.Show("Привет","Мое окно",MessageBoxButtons.YesNo,MessageBoxIcon.Question) == DialogResult.Yes)
MessageBox.Show("YES");
else
MessageBox.Show("NO");

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ

1. а) На форме имеется ряд кнопок с фамилиями. По нажатию на кнопку получить в окне MessageBox имя и отчество человека, чья фамилия выбрана.

б) Изменить цвет шрифта в надписи, используя компонент CheckBox и сделать то же самое с помощью радиокнопок.

2. а) Вывести текст в различном цветовом диапазоне, в зависимости от того, какой цвет выбран.

б) Установить курсор в конец текста. При нажатии на клавиатуре кнопки Enter должно выводиться окно MessageBox с пиктограммой вопроса, текстом вопроса и 3 вариантами ответов.

3. а) Пользователь вводит фамилию человека. Используя компонент RadioButton, произвести вывод фамилии человека и его пола в текстовом виде в зависимости от состояния компонентов RadioButton.

б) При нажатии кнопки Button вывести подтвеждающее сообщение в окне MessageBox.

в) Изменить цвет шрифта в поле ввода с использованием компонента CheckBox и сделать то же самое с помощью радиокнопок.

4. а) Имеются три окна вывода текстовой информации. Для каждого окна вывода предусмотрена ячейка состояния CheckBox. Пользователь вводит строку символов, которая отображается в тех окнах вывода, где установлена «галочка». При снятии «галочки» текст из соответствующего окна исчезает.

б) Изменить цвет шрифта в поле ввода с использованием компонента CheckBox и сделать то же самое с помощью радиокнопок.

в) При нажатии кнопки Button вывести предупреждающее сообщение в окне MessageBox.

5. а) На форме имеются кнопки «Форматировать», «Удалить», «Очистить». Для каждой кнопки предусмотреть предупредительное сообщение, используя компонент MessageBox.

б) Изменить цвет шрифта в компоненте Label, используя компонент CheckBox и сделать то же самое с помощью радиокнопок.

6. а) Вывест текст различными размерами, в зависимости от того, какой размер выбран (используется компонент RadioButton).

б) Установить курсор в конец текста. При нажатии на клавиатуре кнопки Enter должно выводиться вопросительное сообщение MessageBox с пиктограммой вопроса, текстом вопроса и 3 вариантами ответов.

7. а) Пользователь вводит фамилию человека и его статус (женат, холост), используя компоненты RadioButton. Произвести вывод фамилии и статуса в текстовом поле вывода.

б) Изменить цвет шрифта в поле вывода, используя компонент CheckBox и сделать то же самое с помощью радиокнопок.

в) Установить курсор в конец текста. При нажатии на клавиатуре кнопки Enter должно выводиться подтвеждающее сообщение MessageBox.

8. а) На форме имеется 3 поля ввода для ввода суммы долга и 3 кнопки с фамилиями должников. Щелчком по кнопке выдать окно MessageBox с указанием фамилии должника и суммы долга.

б) Изменить цвет шрифта в поле ввода, используя компонент CheckBox и сделать то же самое с помощью радиокнопок.

в) Установить курсор в конец текста. При нажатии на клавиатуре кнопки Enter должно выводиться предупреждающее сообщение MessageBox.

9. а) Создать два списка. В первый с помощью кнопки «Добавить в 1-ый» добавляются строки, введённые в поле ввода. С помощью кнопки «Добавить из 1-ого во 2-ой» из первого списка добавляются строки во второй. С помощью кнопки «Удалить» из второго списка удаляются строки.

б) Изменить цвет шрифта в названии списка, используя компонент CheckBox и сделать то же самое с помощью радиокнопок.

10. а)Пользователь вводит число строк и столбцов таблицы. При нажатии на кнопку «Показать таблицу» высвечивается таблица с заголовками: «наименование товара», «количество», «цена», «общая сумма». Имеются поля ввода: «наименование товара», «количество», «цена». При щелчке на кнопку «Ввести в таблицу» введенные значения заносятся в таблицу. При щелчке на кнопку «Расчет» в таблице высвечивается результат перемножения «количества» и «цены».

б) Изменить цвет поля в названии таблицы, используя компонент CheckBox и сделать то же самое с помощью радиокнопок.

 

Лабораторная работа № 3

 

Построение графиков функций

Строить графики функций в Visual Studio можно при помощи библиотеки классов ZedGraph. Для того что бы установить себе данную библиотеку, проделываем следующее:

1. Скачиваем саму dll- библиотеку по адресу http://sourceforge.net/projects/zedgraph/

2. Далее в «обозервателе решений» жмем правой кнопкой по «refences» и «Добавить ссылку». Выбираем нашу dll.

3. Подключаем ее, написав using ZedGraph.

Другой способ добавления элемента ZedGraphControl в панель инструментов (ToolBox). Для этого необходимо в ToolBox нажать правой кнопкой мыши, в появившемся контекстном меню выбрать пункт Choose Items. Далее перейти на вкладку .NET Framework Components, нажать на кнопку Browse, найти библиотеку ZedGraph, нажать «открыть». В окне «Choose toolbox Items», после всех вышеперечисленных действий, нажать ОК. В ToolBox появился элемент ZedGraphControl.

Инициализировать объект ZedGraphControl можно следующей строчкой кода

ZedGraphControl zedGraphControl1 = new ZedGraphControl();

Приступим к написанию кода. Создадим пустой проект с одной формой, на которой ничего не размещено (рис. 3.1):

 

 

Рисунок 3.1 – Пустая форма

 

Ранее был создал объект с именем ZedGraph

ZedGraphControl zedGraph = new ZedGraphControl();

Теперь настроим его и выведем на форму. Код поместим в Form_Load() – событие, которое вызывается перед тем, как открыть форму. В нем пропишем следующий код:

private void Form1_Load(object sender, EventArgs e)

{

zedGraph.Location = new Point(10, 10); // размещаем наш контрол

zedGraph.Name = "Kodingworld test"; // даем ему название

zedGraph.Size = new Size(450, 400);// указываем размер

Controls. Add (zedGraph);// даем команду на показ этого контура

}

Результат выполнения этого кода показан на рисунке 3.2.

 

Рисунок 3.2 – Компонент zedGraph на форме

 

Теперь поговорим о классе GraphPane. Данный класс включает в себя все классы данной библиотеки в качестве свойств. Он позволяет задавать заголовок графика, задает название осей, фон и т.д. Немного подредактируем только что созданый контрол:

private void CreateGraph(ZedGraphControl Zed_GraphControl)

{

// Создаем объект класса GraphControl

GraphPane my_Pane = Zed_GraphControl.GraphPane;

// Устанавливаем

my_Pane.Title.Text = " Example for Kodingworld.ru";

my_Pane.XAxis.Title.Text = "Мое значение по X";

my_Pane.YAxis.Title.Text = "Мое значение по У";

// Make up some data arrays based on the Sine function

double x, y;

PointPairList list1 = new PointPairList();

for (double i = 0; i < 6.28; i+=0.2)

{

x = Math.Cos(i)*Math.Sin(3*i);

y = Math.Sin(i)*Math.Sin(3*i);

list1.Add(x, y);

}

}

Выше приведен пример метода, который редактирует вид контрола и строит график трехлепестковой розы. Результат выполнения этого кода показан на рисунке 3.3.

 

 

Рисунок 3.3 – Компонент zedGraph с графиком трехлепестковой розы

Разберемся, как строится график. Для начала создаем объект класса PointPairList. PointPairList – это класс-коллекция, который содержит в себе список объектов класса PointPair. А класс PointPair, содержит в себе пару чисел (X,Y). Грубо говоря, первый класс, содержит просто список координат, по которым в дальнейшем выводится график:

Теперь немного подредактируем наш контрол, добавив еще один метод:

private void SetSize()

{

zedGraph.Location = new Point(10, 10);

zedGraph.Size = new Size(ClientRectangle.Width - 20,

ClientRectangle.Height - 20);

}

Данный метод подгоняет размер контрола при изменении формы. Вызовем этот метод в событии Form1_Resize():

private void Form1_Resize(object sender, EventArgs e)

{

SetSize();

}

Теперь при изменения размера формы, наш контрол тоже изменяет размер.

Дополнительную информацию для работы с компонентом ZedGraph можно найти на сайте

http://jenyay.net/Programming/ZedGraph

ИНДИВИДУАЛЬНЫЕ ЗАДАНИЯ

Задание состоит из 2 частей. В первой части нужно построить график заданной функции. Для выполнения второй части обратитесь к материалам первой лабораторной работы.

 

1. а) Построить график функции

б) Создать на экране “бегущую строку” с любым текстом, после ухода с экрана строка появляется снова, до тех пор, пока пользователь не остановит этот процесс.

2. а) Построить график функции у = Ln x

б) Обеспечить появление на экране в течение 2 минут окна сообщения с предупреждением «Через 5 минут начнется пожар», окно должно появляться через 15 секунд и сохранятся на экране в течение 15 секунд.

3. а) Построить графики функций

в одной системе координат.

б) На событие OnClick должно происходить увеличение размера шрифта некоторого текста. Количество событий ограничьте размерами экрана. После последнего увеличения размер шрифта возвращается в исходный.

4. а) Построить график функции

б) Создать на экране бегущую строку. Текст должен появляться справа, а убегать влево 5 раз.

5. а) Построить график функции

б) При нажатии клавиш ctrl+alt+d выдать на экран сообщение “Все будет хорошо” которое должно сохраняться в течение 10 сек

6. а) Построить график функции в одной системе координат.

б) При нажатии клавиш alt+x должен меняться цвет шрифта какого-то текста

7. а) Построить график функции

б) При нажатии клавиши F2 должно очищаться окно вывода информации.

8. а) Построить график функции

б) При нажатии клавиш ctrl+alt+А на экране должно появиться сообщение “ошибка”.

9. а) Построить график функции y = ax2 - b

б) Через каждые 5 секунд на экране должен появляться вопрос: «Вы хотите закрыть приложение?». Если ответ «да», то закрыть приложение.

10. а) Построить график функций y = асos x + 1

б) Продемонстрировать бегущую строку. Создать возможность менять цвет и шрифт текста.

Лабораторная работа № 4

 

Создание Windows приложения «Редактор текста»

в среде разработки Visual Studio

 

1. Создание редактора текста

Создадим приложение SimpleNotepad, представляющее собой простейший текстовый редактор. Окно этого редактора, будет содержать: меню, инструментальную панель и строку состояния.

Отредактируйте имя формы, которая по умолчанию называется Form1 на SimpleNotepadForm.

В окне Solution Explorer переименуйте файл:

form1.cs в SimpleNotepadForm.sc.

Создавая приложения, старайтесь называть пространства имен и классы так, чтобы из их названия было понятно назначение этих пространств имен и приложений.

Замените стандартный значок (иконку), создаваемый системой Microsoft Visual Studio.NET каким-нибудь другим.

Измените размеры окна, принятые по умолчанию, т.к. в маленьком окне редактировать текст неудобно.

Добавление меню

Для того чтобы добавить меню в главное окно нашего приложения, перетащите из панели инструментов Toolbox значок меню с названием menuStrip. Как только Вы это сделаете, окно дизайнера форм примет вид, показанный на рисунке 4.1.

 

 

Рисунок 4.1 - Добавление меню

В нижней части этого окна появится значок программного компонента - меню menuStrip1. Кроме того, непосредственно под заголовком окна появится пустое пока меню, представленное полем с надписью Type Here (что можно перевести как «печатать здесь»).

Напечатайте в этом поле строку «Файл». В результате этого в окне нашего приложения появится меню Файл (рисунок 4.2).

 

 

Рисунок 4.2 - Создание меню Файл

 

По мере ввода названия строк меню «Файл», поле ввода Type Here будет опускаться вниз. Таким способом можно ввести все необходимые строки данного меню.

 

Рисунок 4.3 - Контекстное меню

 

Чтобы отредактировать строку меню, щелкните ее правой клавишей мыши. На экране появится контекстное меню, показанное на рисунке 4.3.

С помощью строки Insert Вы можете вставить новую строку меню между уже существующих строк, строка Separator предназначена для вставки разделительной линии между строками меню.

Если же Вам нужно изменить введенные названия строк и меню, это можно сделать по месту, выбрав нужную строку мышью.

Создайте меню «Файл» как показано на рисунке 4.4.

Рисунок 4.4 - Меню «Файл»

 

Далее создайте меню «Правка» (рисунок 4.5).

Рисунок 4.5 - Меню «Правка»

Меню «Формат» (рисунок 4.6) состоит только из одной строки «Шрифт», с помощью которой пользователь сможет изменить шрифт текста.

 

 

Рисунок 4.6 - Меню «Формат»

 

И, наконец, последнее меню нашего приложения, это меню «Справка» (рисунок 4.7).

 

 

Рисунок 4.7 - Меню «Справка»

 

В этом меню мы предусмотрели только одну строку – «О программе».

Переименование меню и строк меню

Прежде чем продолжить работу с меню, давайте переименуем идентификаторы меню и строк меню таким образом, чтобы с ними было удобнее работать в программе. Для этого в окне дизайнера формы щелкните правой клавишей мыши главное меню приложения и затем выберите из контекстного меню строку Edit DropDownItems… (рисунок 4.8).

Как только Вы это сделаете, откроете окно вида – рисунок 4.9. В этом окне выбирая по очереди элементы меню (слева) можно изменять свойство Name и т.д.

Рисунок 4.8 - Редактирование имен меню и строк меню

 

 

Рисунок 4.9 - Просмотр имен меню и строк меню

 

Отредактируйте имена меню и строк меню, как это показано на рисунке 4.10.

 

Рисунок 4.10 - Новые имена меню Файл

 

Эту процедуру нужно будет повторить для каждого создаваемого меню и для каждой строки меню.

При этом меню верхнего уровня Файл называется menuFile. Имена строк меню формируются путем добавления к имени меню текста, отображаемого в строке меню.

Переименуйте остальные пункты меню:

Правка – menuEdit

- Отмена – menuFileUndo

- Вырезать - menuFileCut

- Копировать - menuFileCopy

- Вставить - menuFilePaste

- Удалить - menuFileDelete

- Выделить все – menuFileSelectAll

Формат – menuFormat

- Шрифт –menuFileFont

Справка –menuHelp

- О программе –menuAbout

После этого можно оттранслировать приложение и запустить его, нажав кнопку F5. Убедитесь, что меню отображается, и Вы можете выбирать его строки.

 



Поделиться:


Последнее изменение этой страницы: 2016-06-29; просмотров: 430; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.244.83 (0.129 с.)