Файл: Разработка программ с графическим интерфейсом на C#.pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 04.04.2023

Просмотров: 983

Скачиваний: 15

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

Рисунок 1 – Главная форма приложения

  1. Форма «Карточка квартиросъемщика» будет состоять из компонентов GroupBox, Label, TextBox, MaskedTextBox, DateTimePicker, ComboBox и Button.

- все поля формы подписаны с помощью компонента Label.

- поля «Фамилия» (tbFam), «Имя» (tbName), «Отчество» (tbOtch), «Кем выдан» (tbVydan), «Адрес регистрации» (tbAdress) представляют собой обычные компоненты TextBox.

- поле «Гражданство» (cbGrazh) представлен компонентом ComboBox и содержит записи о странах.

- поле «Серия и номер паспорта» (mtPassport) представлен компонентом MaskedTextBox с маской ввода «0000-000000», что позволяет вводить только цифры, разделенные знаком «тире».

- поле «Дата выдачи» (dateVydachi) представлен компонентом DateTimePicker и позволяет выбрать дату.

- поле «Выбор квартиры» представлен компонентом ComboBox и содержит записи о квартирах, которые заносятся отдельно в форме «Справочник».

- все поля сгруппированы в контейнере GroupBox под названием «Персональные данные».

- кнопка «Добавить в базу» (btnAddPerson) добавляет информацию из всех полей в базу, формируя запись о квартиросъемщике.

Форма «Карточка квартиросъемщика» представлена на рисунке 2.

  1. ывавыа

Рисунок 2 – Форма «Карточка квартиросъемщика»

3. Форма «Справочник» содержит компонент DataGridView, отображающего все записи об объектах недвижимости, и кнопку «Добавить квартиру» (btnAddKvartira), нажатие на которую вызывает форму «Карточка недвижимости».

Форма «Справочник» представлена на рисунке 3.

Рисунок 3 – Форма «Справочник»

  1. Форма «Карточка недвижимости» содержит следующие поля:

- все поля формы подписаны с помощью компонента Label.

- поля «Адрес объекта недвижимости» (tbAdress) и «Стоимость аренды» (tbCash) представлены компонентом TextBox.

- поля «Тип дома» (cbHouseType), «Наличие балкона» (cbBalkon), «Наличие интернета» (cbInternet) представлены компонентом ComboBox и содержат заранее введенные данные.

- поля «Этаж» (numFloor), «Номер квартиры» (numKvartira), «Площадь» (numArea), «Количество комнат» (numKomnat) представлены компонентом NumericUpDown, представляющим собой счетчик (позволяет вводить данные как вручную, так и с помощью «стрелок»).

- кнопка «Добавить квартиру» (btnAddKvartira) представлена компонентом Button, при нажатии на которую вызывается событие записи информации из всех полей в базу данных, формируя запись об объекте недвижимости.


Форма «Карточка недвижимости» представлена на рисунке 4.

Рисунок 4 – Форма «Карточка недвижимости»

Таким образом, визуальное проектирование приложения, а также описание компонентов и событий завершено. Можно приступить к написанию логики работы приложения.

3.2. Написание кода на языке C#

Написание логики начнем с главной формы. Все кнопки будут иметь одно событие – Click.

Событие Click для кнопки «Добавить квартиросъемщика»:

private void btnAddTenant_Click(object sender, EventArgs e)

{

fTenants fTen = new fTenants();

fTen.btnAddPerson.Visible = true;

fTen.ShowDialog();

}

Здесь стоит сразу сказать, что для обращения к другому классу, необходимо создать экземпляр класса через служебное слово new, после чего можно получить доступ к его свойствам и компонентам. В этом коде мы создаем экземпляр класса формы «Карточка квартиросъемщика» (fTenants), после чего получаем доступ к кнопке «Добавить квартиросъемщика» (btnAddPerson), и показываем модальное окно формы.

Событие Click для кнопки «Изменить квартиросъемщика»:

private void btnChangeTenant_Click(object sender, EventArgs e)

{

int i = dataGridView2.CurrentRow.Index;

fTenants fTen = new fTenants();

fTen.currRow = i;

fTen.btnSave.Visible = true;

fTen.textmethod(недвижимостьDataSet.Tables ["Квартиросъемщики"]. Rows[i][1].ToString(),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i][2].ToString(),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i][3].ToString(),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i][4].ToString(),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i][5].ToString(),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i].Field<DateTime>("Дата выдачи"),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i][7].ToString(),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i][8].ToString(),

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[i].Field<int>("Код объекта"));

fTen.ShowDialog();

}

Здесь мы определяем индекс выбранной записи в таблице, на основе которой извлекаем данные из всех столбцов этой записи и заносим в поля формы «Карточка квартиросъемщика».

Событие Click для кнопки «Удалить квартиросъемщика»:

private void btnDeleteTenant_Click(object sender, EventArgs e)

{

int i = dataGridView2.CurrentRow.Index;

dataGridView2.Rows.Remove(dataGridView2.Rows[i]);

квартиросъемщикиTableAdapter.Update(недвижимостьDataSet. Квартиросъемщики);

}

На основе индекса выбранной строки в таблице, удаляем всю строку и сохраняем изменения в базу данных.

Событие Click для кнопки «Справочник»:

private void btnSpravochnik_Click(object sender, EventArgs e)


{

fSpravochnik fSprav = new fSpravochnik();

fSprav.ShowDialog();

}

Создаем экземпляр формы «Справочник» и вызываем модальное окно формы.

Отображение записей из базы данных происходит через связывание компонентов DataGridView с базой компонентами BindingSource, DataSet и TableAdapter. Пример представлен на рисунке 5.

Рисунок 5 – Добавление источника данных

Форма «Карточка квартиросъемщика», как говорилось выше, будет использоваться в двух режима – добавление и изменение данных. Разница будет в наличие одной из двух кнопок «Добавить в базу» и «Сохранить изменения».

Событие Click для кнопки «Добавить в базу»:

private void btnAddPerson_Click(object sender, EventArgs e)

{

Form1 frm1 = new Form1();

frm1.квартиросъемщикиTableAdapter.Insert(tbFam.Text, tbName.Text, tbOtch.Text, cbGrazh.Text, mtPassport.Text, dateTimePicker1.Value, tbVydan.Text, tbAdress.Text, int.Parse(cbKvartira.SelectedValue.ToString()));

Close();

}

Создаем экземпляр главной формы и обращаемся к базе данных через TableAdapter методом Insert для внесения данных из всех полей.

Событие Click для кнопки «Сохранить изменения»:

private void btnSave_Click(object sender, EventArgs e)

{

Form1 frm1 = new Form1();

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<string>("Фамилия", tbFam.Text);

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<string>("Имя", tbName.Text);

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<string>("Отчество", tbOtch.Text);

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<string>("Гражданство", cbGrazh.Text);

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<string>("Серия и номер паспорта", mtPassport.Text);

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<DateTime>("Дата выдачи", dateTimePicker1.Value);

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<string>("Кем выдан", tbVydan.Text);

недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<string>("Адрес регистрации", tbAdress.Text); недвижимостьDataSet.Tables["Квартиросъемщики"].Rows[currRow].SetField<object>("Код объекта", cbKvartira.SelectedValue);

квартиросъемщикиTableAdapter.Update(недвижимостьDataSet.Квартиросъемщики);

Close();

}

Этот код позволяет внести изменения в базу данных, не добавляя новые записи, а путем изменения текущих данных.

Форма «Справочник» содержит кнопку «Добавить квартиру», которая вызывает окно формы «Карточка недвижимости».

private void btnAddKvartira_Click(object sender, EventArgs e)

{

fNedvizh fned = new fNedvizh();

fned.ShowDialog();

}

Форма «Карточка недвижимости» содержит кнопку «Добавить квартиру», которая позволяет добавить запись в базу данных через TableAdapter методом Insert из всех полей.

private void btnAddKvartira_Click(object sender, EventArgs e)


{

fSpravochnik fspr = new fSpravochnik();

fspr.объекты_недвижимостиTableAdapter.Insert(tbAdress.Text,cbHouseType.Text,numFloor.Value.ToString(),numKvartira.Value.ToString(),numArea.Value.ToString(),numKomnat.Value.ToString(),cbBalkon.Text,cbInternet.Text, tbCash.Text);

Close();

}

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

- для формы «Справочник»

private void fSpravochnik_Activated(object sender, EventArgs e)

{

объекты_недвижимостиTableAdapter.Fill(недвижимостьDataSet2.Объекты_недвижимости);

}

- для главной формы

private void Form1_Activated(object sender, EventArgs e)

{

квартиросъемщикиTableAdapter.Fill(недвижимостьDataSet.Квартиросъемщики);

}

Таким образом, в рамках курсовой работы было разработано приложение с графическим интерфейсом пользователя, состоящее из четырех форм и позволяющее пользователю с легкостью осуществлять основные операции, а именно – добавлять, изменять и удалять данные из базы данных на платформе MS SQL Server.

ЗАКЛЮЧЕНИЕ

В первом разделе данной курсовой работы были даны основные определения – язык программирования, алгоритм, транслятор, компилятор, интерпретатор, система программирования.

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

Рассмотрены языки программирования высокого уровня и их классификация по типу решаемых задач, способу получения результата, степени детализации алгоритма получения результата, степени ориентации на специфические возможности ЭВМ.

Изучены типы данных.

Рассмотрена история развития среды программирования MS Visual Studio.

Во втором разделе были рассмотрены особенности и этапы проектирования графического интерфейса пользователя.

Любой SQL-запрос сопровождается добавлением, удалением или изменением данных, позволяет сделать выборку необходимой информации из нескольких взаимосвязанных таблиц.

В третьем разделе данной курсовой работе рассмотрен практический пример разработки приложения с графическим интерфейсом пользователя для оснащения им базы данных на основе платформы MS SQL Server.


Практический пример был реализован на языке программирования высокого уровня C# в среде Visual Studio и СУБД MS SQL Server 2012. Были рассмотрены следующие вопросы:

- обращение к формам путем создания экземпляров класса;

- написание событий Click для кнопок;

- извлечение данных из БД MS SQL Server в компонент DataGridView;

- запись данных в БД MS SQL Server через компонент TableAdapter.

В процессе выполнения курсовой работы решены следующие задачи:

1) даны определения основным понятиям – язык программирования, алгоритм, транслятор, компилятор, интерпретатор, система программирования, а также базам данных и системе управления базами данных;

2) изучена классификация языков программирования по типу решаемых задач, способу получения результата, степени детализации алгоритма получения результата, степени ориентации на специфические возможности ЭВМ;

3) изучены типы данных;

4) изучена историю развития среды программирования MS Visual Studio;

5) рассмотрены основные этапы проектирования графического интерфейса;

6) разработано приложение для оснастки СУБД MS SQL Server графическим интерфейсом.

Считаю, что все поставленные задачи курсовой работы, как теоретические, так и практические, решены, следовательно, главная цель исследования – достигнута.

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

  1. Алгоритмические языки и основы программирования: Учебное пособие / В.Д.Былкин, Ю.В Блинков, Т.А. Глебова, В.В. Пикулин / Под общ ред. проф. А.Н.Кошева.- Пенза: ПГУAC, 2004. - 280 с.
  2. Ананченко И. В., Козлов И.В. Пособие к курсу Администрирование Microsoft SQL Server 2012R2. Часть 1. С.-П. – 2014. – 71 с.
  3. Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М. Объектно-ориентированное программирование на С# : Учебное пособие / А.А. Андрианова, Л.Н. Исмагилов, Т.М. Мухтарова. – Казань: Казанский (Приволжский) федеральный университет, 2012. – 134 с.
  4. Баканов А.С., Обознов А.А. Проектирование пользовательского интерфейса: эргономический подход - М.: Изд-во «Институт психологии РАН», 2009. - 184 с.
  5. Бураков П.В., Петров В.Ю. Введение в системы баз данных: Учебное пособие. - СПб: СПбГУ ИТМО, 2010. - 128 с.
  6. Борисенко В. Основы программирования. – Национальный Открытый Университет "ИНТУИТ" [Электронный ресурс]. URL: http://www.intuit.ru/department/se/pbmsu/
  7. Введение в язык C# и .NET.Framework https://docs.microsoft.com/ru-ru/dotnet/articles/csharp/getting-started/introduction-to-the-csharp-language-and-the-net-framework
  8. Гультяев А. К. Help. Разработка справочных систем: Учебный курс. - СПб.: Питер, 2004. -270 с.
  9. Давыдова Н. А. Программирование : учебное пособие / Н. А. Давыдова, Е. В. Боровская. — М. : БИНОМ. Лаборатория знаний, 2009. — 238 с.
  10. Дьяков И.А. Базы данных. Язык SQL: Учебное пособие. - Тамбов: Изд-во ТГТУ, 2004. - 80 с.
  11. Евсеева О.Н., Шамшев А.Б. Работа с базами данных на языке C#. Технология ADO.NET: Учебное пособие – Ульяновск: УлГТУ, 2009 г. – 170 с.
  12. Информационные системы / Петров В. Н. — СПб.: Питер, 2003. — 688 с
  13. Кип Р.Ирвин. Язык ассемблера для процессоров Intel, 4-е изд., 2005, 912 с.
  14. Култыгин О.П. Администрирование баз данных. СУБД MS SQL Server [Электронный ресурс]: учебное пособие/ Култыгин О.П.— Электрон. текстовые данные. – М.: Московский финансово-промышленный университет «Университет», 2012.— 232 c.
  15. Лебедев И.С., Петров В.Ю. Информатика. Программирование. Учебно-методическое пособие. Часть 2. – СПб: Университет ИТМО, 2017. – 71c.
  16. Марапулец Ю.В.Программирование на языке высокого уровня: Учебное пособие. - Петропавловск-Камчатский: КамчатГТУ, 2008. - 189 с.
  17. Миндалев И.В. Теория экономических информационных систем: Электронный учебно-методический комплекс. — КрасГАУ, 2011. http://www.kgau.ru/istiki/istiki/teis/bk01-toc.html
  18. Мирошниченко Г. Реляционные базы данных. Практические приемы оптимальных решений. – СПб. : БХВ-Петербург, 2005. – 400с.
  19. Нейгел К., Ивьен Б., Глинн Д. и др. C# 5.0 и платформа .NET 4.5 для профессионалов Пер. с англ. — М. : Вильямс, 2014. — 1440 с.
  20. Павловская Т.А. Программирование на языке высокого уровня. Учебник для вузов. — СПб.: Питер, 2009. — 432 с.
  21. Руководство по программированию на C# https://docs.microsoft.com/ru-ru/dotnet/articles/csharp/programming-guide/index
  22. Сафонов В. Возможности Visual Studio 2013 и их использование для облачных вычислений. – Национальный Открытый Университет "ИНТУИТ" [Электронный ресурс]. URL: http://www.intuit.ru/studies/courses/13805/1223/lecture/23388?page=2
  23. Сергеев С.Ф., Падерно П.И., Назаренко Н.А. Введение в проектирование интеллектуальных интерфейсов:Учебное пособие.-СПб: СПбГУ ИТМО, 2011.-108с.
  24. Сивохин А.В., Шибанов С.В., Самуйлов С.В. Разработка и сопровождение баз данных в среде СУБД MS SQL Server 2000: Учебное пособие. - Пенза: Пенз. гос. ун-т, 2004. - 154 с.
  25. Советов, Б. Я. Базы данных : учебник для прикладного бакалавриата / Б. Я. Советов, В. В. Цехановский, В. Д. Чертовской. — 3-е изд. — М. : Издательство Юрайт, 2018. — 420 с.
  26. Ткачев О.А. Создание и манипулирование базами данных средствами СУБД Мicrosoft SQL Server 2008 [Электронный ресурс]: учебное пособие/ Ткачев О.А.— Электрон. текстовые данные.— М.: Московский городской педагогический университет, 2013.— 152 c
  27. Троелсен. Э.С# и платформа .NET. Библиотека программиста. — СПб.: Питер, 2004. —796 с
  28. Фленов М. Библия C# (3-е – изд).- БХВ-Петербург. – 2016. – 546 с.
  29. Химонин Ю. Сбор и анализ требований к программному продукту. [Электронный ресурс]. -. 2009 – URL: https://pmi.ru/articles/articles/1211/
  30. Шилдт Герберт C# 4.0: полное руководство.: Пер. с англ. — М.: ООО "И.Д. Вильямс", 2011. — 1056 с.