Визуальное программирование. Компоненты. Свойства. События. Методы

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

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

Button – кнопка с текстом или рисунком

CheckBox – с двумя состояниями, позволяет задать значение истины для параметра, если он отмечен флажком и ложным, если галочки нету.

Label – выводит строку

PicterBox – позволяет добавить на форму картинку

GroupBox – группирует компоненты в формы

Свойства являются атрибутами любого компонента. Они определяют его внешний вид и поведение. Многие свойства компонентов имеют значения по умолчанию. Редактирование свойств компонентов в процессе создания программы выполняется на панели свойств.

Name – задает имя, через которое возможно обращение из программы к данному компоненту.

Enable – делает компонент свободным (true) или недоступным (false)

Cursor – вид курсора мышки

AutoScroll – позволяет задать для формы автоматическое появление полос прокрутки.

Size – задает размер компонента.

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

Click – выполняется в случае нажатия клавиши мыши на компоненте или клавиши «Enter» на клавиатуре

TextBox – выполняется при нажатии клавиши клавиатуры

ActiveVoid – выполняется когда компонент становится активным

Show – выполняется при отображении окна

Tick – выполняется по истечении заданного момента времени

Методы. С каждым компонентом (класса компонента) связан свой набор методов (подпрограмм, которые реализуют дополнительные функции, связанные с компонентами). Например, у компонента ListBox имеются методы Add – добавить элементов список, RemoveAdd позволяет удалить элемент списка с заданным номером. Вызов метода для компонента выполняется указанием имени компонента.

Работа со стандартными компонентами

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

Button – кнопка с текстом или рисунком

TabControl – позволяет добавить на форму закладки с различными компонентами (контейнеры)

CheckBox – с двумя состояниями, позволяет задать значение истины для параметра, если он отмечен флажком и ложным, если галочки нету.

Label – выводит строку

Timer – служит для создания счетчика отсчета времени (не визуальный)

ListBox – отображает список строк

PicterBox – позволяет добавить на форму картинку

GroupBox – группирует компоненты в формы

ContextMenuStrim – позволяет добавить на форму контекстное меню, вызываемое нажатием правой кнопки мыши

SaveFileDialog – сохранение файла

Обмен данными между формами

Часто возникает необходимость передать значения между формами в одном приложении.

В главной форме запуск новой производим так:

Form2 frm = new Form2();

frm.Owner = this; //this – это текущая форма (Form1)

frm.Show();

После такого действия в новой форме можно обращаться к элементам родительской формы, так:

Form1 frm = (Form1) this.Owner;

frm.label1.Text = “Test”; // label1 находится на Form1.

Работа с файлами

Файл – это совокупность связных данных, хранящихся во внешней памяти компьютера и рассматривающийся как единое целое. Файлы предназначены для хранения и обработки большого объема данных в программе. Работа с файлами в программе выполняется с использованием файловой переменной. Файлы в языке программирования разделяются на группы:

Типизированные файлы

Текстовые файлы

Не типизированные файлы

При работе с файлами существует определенный порядок действий:

1)Объявление файловой переменной

2)Связывание этой переменной с конкретным файлом на диске

3)Открытие файла (для записи или чтения)

4)Выполнений действий с файлами (чтение или запись)

5)Закрытие файлов

Классы предназначены для работы с файлами. Находятся в пространстве имен Sistem.IO.

Классы Directory и File содержат статические методы для выполнения операций с папками и файлами (создание, удаление, проверка существования и т.д.)

Класс Path – создает статические методы для работы с путями и именами файлов.

Классы Binary Reader и Binary Writer включают методы, предназначенные для чтения и записи простых типов данных, как бинарных значений.

Классы Directory Info и File Info предназначены для получения информации о папках и каталогах

Класс Stream предназначен для записи или чтения последовательности байт (работа с потоком данных)

Классы Text Reader и Text Writer предназначены для чтения и записи последовательности символов.

string path = @"c:\a.txt";

if(File.Exists(path))

{

File.Delete(path);

}

using(FileStream filestream = File.Create(path, 1024))

{

Byte[] text =

new UTF8Encoding(true).GetBytes("Текст, который будет записан в файл");

filestream.Write(text, 0, text.Length);

}

CreateText(string path)

string path = @"c:\a.txt";

if(!File.Exists(path))

{

using(StreamWriter streamwriter = File.CreateText(path))

{

streamwriter.WriteLine("Строка 1");

streamwriter.WriteLine("Строка 2");

streamwriter.WriteLine("Строка 3");

}

}

OpenText(string path)

using(StreamReader streamreader = File.OpenText(path))

{

string sString = "";

while((sString = streamreader.ReadLine()) != null)

{

richTextBox1.AppendText(sString+"\r\n");

}

}

Доступ к данным СУБД

Методы доступа к БД:

1) Доступ с использованием прямого или косвенного вызова СУБД

2) Использование объектного интерфейса.

Прямой вызов программного интерфейса СУБД:

Большинство СУБД предоставляет в распоряжение программиста интерфейс API, с помощью которого программа может выполнять любые действия с БД.

Использование программного интерфейса ODBC.

Он выполнен в виде набора функций, отличается универсальностью доступа к различным СУБД. Но так как это набор функций, то ограничено его применение в веб-приложениях.

Интерфейс RDO.

Реализует возможности интерфейса ODBC, при его использовании не требуется напрямую вызывать программный интерфейс ODBC или СУБД. Преимущество: возможность доступа веб-приложений к БД.

Интерфейс OLE DB.

Является стандартом доступа к СУБД, и в отличие от ODBC и RDO, предоставляет возможность доступа приложений не только к реляционным БД, но и к БД имеющим другую архитектуру.

Интерфейс ADO.

Строится на основе объектов, реализованных в OLE DB. Данный подход доступа к СУБД является самым распространенным. Состоит из этапов:

1) Установка соединения

2) Подготовка команды и параметров

3) Выполнение команды

4) Обработка результатов выполнения команды

5) Закрытие соединения

6) Обработка ошибок

С развитием веб-приложений получают распространение многоуровневые системы. В этих системах клиент обращается к СУБД не напрямую, а через веб-сервер.

Для работы с БД в C# реализовано пространство System.Data. основной объект для работы с данными БД – объект Data Set. Данный объект может создавать наборы реляционных таблиц в СУБД и оперативной памяти. Для отображения содержания таблиц с использованием графического пользовательского интерфейса используется компонент DataGriveView.