Визуальное программирование. Компоненты. Свойства. События. Методы
Визуальное программирование предусматривает создание приложений с помощью наглядных средств. В процессе создания программы, программист показывает, что должно получится в результате, а код программы создается в полуавтоматическом режиме. В программировании можно визуализировать различные процессы: построение интерфейса, создание структуры БД, работа с сетью, программирование логики и т.д.
Стандартные компоненты. Все компоненты являются отдельными классами, разделяются на видимые (визуальные) и невидимые. Визуальные компоненты появляются во время выполнения программы, отображаясь так же во время оформления формы.
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.