Проектування та розробка форм з MDI інтерфейсів Visual Studio C#

Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Не вказано
Кафедра:
Не вказано

Інформація про роботу

Рік:
2014
Тип роботи:
Лабораторна робота
Предмет:
Людино-машинні інтерфейси

Частина тексту файла (без зображень, графіків і формул):

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ ТЕХНІЧНИЙ КОЛЕДЖ НАЦІОНАЛЬНОГО УНІВЕРСИТЕТУ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» КАФЕДРА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ ТА КОМП’ЮТЕРНОЇ ТЕХНІКИ Лабораторна робота №2 з Людино-машинний інтерфейс на тему: “ Проектування та розробка форм з MDI інтерфейсів Visual Studio C#” Мета: Засвоїти методику та виробити практичні навички у проектуванні та створенні форм з MDI інтерфейсом за допомогою Visual C# 2010. Теоретичні відомості. Програми з багато віконним інтерфейсом (MDI) дозволяють відображати кілька документів відразу, при цьому кожен документ відображається в окремому вікні. Цей інтерфейс був вперше описаний в керівництві з розробки інтерфейсу користувача System Application Architecture Common User Access Advanced Interface Design Guide(SAA / CUA), створеному IBM. Інтерфейс MDI використовувався в ОС Microsoft Windows, починаючи з версії 3.0, а також в графічній оболонці Presentation Manager операційної системи OS/2. Сучасні версії ОС Microsoft Windows також дозволяють створювати додатки з інтерфейсом MDI. Для створення MDI-форм в проекті потрібно мати як мінімум дві форми які називаються батьківською та дочірньою. Будь MDI-додаток містить меню Windows, призначене для управління вікнами, що відображають різні документи або різні подання одного й того ж документа. Як правило, в меню Windows є команди, за допомогою яких користувач може впорядкувати MDI-вікна, розташувавши їх з перекриттям (один за одним) або поруч один з одним. У цьому меню можуть бути й інші рядки, що керують розташуванням MDI-вікон. Рухаючи MDI-вікна за допомогою заголовка, Ви не зможете перемістити їх за межі головного вікна програми.  Основою програми з MDI-інтерфейсом є батьківська MDI-форма. Це форма містить дочірні MDI-вікна, що є "вкладеними вікнами", в яких користувачі взаємодіють з MDI-додатком. Створити батьківську MDI-форму нескладно як в конструкторі Windows Forms, так і програмними засобами. У вікні Властивостей установіть властивості IsMDIContainer значення true. При цьому форма призначається MDI-контейнером для дочірніх вікон.  Дочірні MDI-форми є основним елементом програми з інтерфейсом MDI, оскільки вони знаходяться в центрі взаємодії з користувачами. За допомогою такої процедури створюються дочірні MDI-форми, що відображають елементи керування, аналогічно більшості текстових додатків.  Для тог  щоб MDI-вікно з'явилося на екрані, його необхідно відобразити явним чином за допомогою методу Show. Засоби керування дочірніми MDI-вікнами дозволяють легко впорядкувати ці вікна одним із трьох способів. Перш за все, вікна можуть бути впорядковані з перекриттям (каскадним чином). Крім цього, можливо розташування вікон поруч по горизонталі і по вертикалі. Щоб користувач міг впорядковувати дочірні MDI-вікна, в меню Window вносять рядки Cascade, Horizontally Tile і Vertically Tile і створюють необхідні обробники подій. private void cascadeToolStripMenuItem_Click(object sender, EventArgs e) { this.LayoutMdi(MdiLayout.Cascade); } private void horiToolStripMenuItem_Click(object sender, EventArgs e) { this.LayoutMdi(MdiLayout.TileHorizontal); } private void vertycaliTitleToolStripMenuItem_Click(object sender, EventArgs e) { this.LayoutMdi(MdiLayout.TileVertical); } Хід роботи Завдання. Спроектувати та розробити програму на основі MDI інтерфейсів. Програма має включати пошук по вибірці, та впорядкування вікон. Варіант 5 5 Музичний альбом Id, виконавець, назва альбому, жанр, кількість пісень, тривалість   Код програми: Клас Form1.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Form1 : Form { //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; public Form1() { InitializeComponent(); } //Процедура викликається при запуску програми private void вихідToolStripMenuItem_Click(object sender, EventArgs e) { this.Close(); } private void пошукПоIdToolStripMenuItem_Click(object sender, EventArgs e) { SearchbyID sbID = new SearchbyID(); sbID.MdiParent = this; sbID.Show(); } private void пошукПоВиробникуToolStripMenuItem_Click(object sender, EventArgs e) { Searchbyartist sbbr = new Searchbyartist(); sbbr.MdiParent = this; sbbr.Show(); } private void пошукЗаПлКондиціонуванняToolStripMenuItem_Click(object sender, EventArgs e) { Searchbyname sbsq = new Searchbyname(); sbsq.MdiParent = this; sbsq.Show(); } private void пошукЗаПлОбігрівуToolStripMenuItem_Click(object sender, EventArgs e) { Searchbytitle sbgr = new Searchbytitle(); sbgr.MdiParent = this; sbgr.Show(); } private void пошукЗаПлОхолодженняToolStripMenuItem_Click(object sender, EventArgs e) { Searchbykilk sbhd = new Searchbykilk(); sbhd.MdiParent = this; sbhd.Show(); } private void пошукЗаКольоромToolStripMenuItem_Click(object sender, EventArgs e) { Searchbydur sbco = new Searchbydur(); sbco.MdiParent = this; sbco.Show(); } private void відобразитиToolStripMenuItem_Click(object sender, EventArgs e) { Viewmusa vCond = new Viewmusa(); vCond.MdiParent = this; //використовуємо Ado.net клас для того що б взнати кількість записів useDB uDB = new useDB(conString); uDB.OpenCon(); //Підєднання до БД //Міняємо назву дочірньої MDI-форми яка відображає всі записи в БД vCond.Text = "В БД " + uDB.Cout().ToString() + " записів!"; vCond.Show(); uDB.CloseCon(); // Відєднання від БД } private void додатиToolStripMenuItem_Click(object sender, EventArgs e) { Insertmusa iCond = new Insertmusa(); iCond.MdiParent = this; iCond.Show(); } private void знищитиToolStripMenuItem_Click(object sender, EventArgs e) { Deletemusa dCond = new Deletemusa(); dCond.MdiParent = this; dCond.Show(); } private void Form1_Load(object sender, EventArgs e) { IsMdiContainer = true; //задає довжину і ширину батьківської MDI-форми this.Width = 800; this.Height = 600; // StartPosition = CenterToScreen; } }} Клас viewmusa.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Viewmusa : Form { //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; public Viewmusa() { InitializeComponent(); } private void ViewCond_Load(object sender, EventArgs e) { String str = ""; DataTable table = new DataTable(); this.textBox1.Clear(); useDB uDB = new useDB(conString); uDB.OpenCon(); table = uDB.Allmus(); str = str + "| ID | Artist | NAME | Title | kilk | dur |\r\n"; str = str + "|=========================================================|\r\n"; str = str + "|_________________________________________________________|\r\n"; foreach (DataRow dataRow in table.Rows) { str = str + "| " + String.Format("{0,-5}", dataRow[0].ToString()) + "| " + String.Format("{0,-16}", dataRow[1]) + "| " + String.Format("{0,-20}", dataRow[2]) + "| " + String.Format("{0,-20}", dataRow[3]) + "| " + String.Format("{0,-20}", dataRow[4]) + "|" + String.Format("{0,-7}", dataRow[5]) + "| " + "\r\n"; } textBox1.Text = str; } }} Клас Insertmusa.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Insertmusa : Form { public Insertmusa() { InitializeComponent(); } //Викликається коли користувач нажме на кнопку очистити //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; private void button2_Click(object sender, EventArgs e) { textBox1.Clear(); textBox2.Clear(); textBox3.Clear(); textBox4.Clear(); textBox5.Clear(); } private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); musa myCond = new musa(); int row; myCond.artist = textBox1.Text; myCond.name = textBox2.Text; myCond.title = textBox3.Text; myCond.kilk = Convert.ToInt16(textBox4.Text); myCond.dur = Convert.ToInt16(textBox5.Text); uDB.OpenCon(); row = uDB.Insertmusa(myCond); if (row != 0) MessageBox.Show("Запит було добавлено!"); else MessageBox.Show("Запит не було добавлено!"); uDB.CloseCon(); } }} Клас Deletemusa.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Deletemusa : Form { //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; public Deletemusa() { InitializeComponent(); } //Викликається коли користувач нажме на кнопку очистити private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); int id; uDB.OpenCon(); id = Convert.ToInt16(textBox1.Text); uDB.Deletemusa(id); } private void button2_Click(object sender, EventArgs e) { textBox1.Clear(); } private void textBox1_MouseClick(object sender, MouseEventArgs e) { textBox1.Clear(); }//Викликається коли користувач нажме на кнопку знищити}} Клас SearchbyID.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class SearchbyID : Form { public SearchbyID() { InitializeComponent(); } //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); string str = ""; int id = Convert.ToInt16(textBox1.Text); uDB.OpenCon(); DataTable table = uDB.SearchbyID(id); foreach (DataRow dataRow in table.Rows) { str = str + String.Format("{0,-5}", dataRow[0].ToString()) + String.Format("{0,-11}", dataRow[1]) + String.Format("{0,-12}", dataRow[2]) + String.Format("{0,-13}", dataRow[3]) + String.Format("{0,-14}", dataRow[4]) + String.Format("{0,-7}", dataRow[5]+"\r\n"); } uDB.CloseCon(); textBox2.Text = str; uDB.CloseCon(); } }} Клас Searchbyartist.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Searchbyartist : Form { public Searchbyartist() { InitializeComponent(); } //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); string str = ""; string artist = textBox1.Text; uDB.OpenCon(); DataTable table = uDB.Searchbyartist(artist); foreach (DataRow dataRow in table.Rows) { str = str + String.Format("{0,-5}", dataRow[0].ToString()) + String.Format("{0,-11}", dataRow[1]) + String.Format("{0,-12}", dataRow[2]) + String.Format("{0,-13}", dataRow[3]) + String.Format("{0,-14}", dataRow[4]) + String.Format("{0,-7}", dataRow[5]+ "\r\n"); } uDB.CloseCon(); textBox2.Text = str; uDB.CloseCon(); } }} КласSearchbyname.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2 { public partial class Searchbyname : Form { public Searchbyname() { InitializeComponent(); } //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); string str = ""; string name = textBox1.Text; uDB.OpenCon(); DataTable table = uDB.Searchbyname(name); foreach (DataRow dataRow in table.Rows) { str = str + String.Format("{0,-5}", dataRow[0].ToString()) + String.Format("{0,-11}", dataRow[1]) + String.Format("{0,-12}", dataRow[2]) + String.Format("{0,-13}", dataRow[3]) + String.Format("{0,-14}", dataRow[4]) + String.Format("{0,-7}", dataRow[5]+"\r\n"); } uDB.CloseCon(); textBox2.Text = str; uDB.CloseCon(); } }} Клас Searchbytitle.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Searchbytitle : Form { public Searchbytitle() { InitializeComponent(); } //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); string str = ""; string title = textBox1.Text; uDB.OpenCon(); DataTable table = uDB.Searchbytitle(title); foreach (DataRow dataRow in table.Rows) { str = str + String.Format("{0,-5}", dataRow[0].ToString()) + String.Format("{0,-11}", dataRow[1]) + String.Format("{0,-12}", dataRow[2]) + String.Format("{0,-13}", dataRow[3]) + String.Format("{0,-14}", dataRow[4]) + String.Format("{0,-7}", dataRow[5]+"\r\n"); } uDB.CloseCon(); textBox2.Text = str; uDB.CloseCon(); } }} Клас Search by kilk.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Searchbykilk : Form { public Searchbykilk() { InitializeComponent(); } //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); string str = ""; int kilk = Convert.ToInt16(textBox1.Text); uDB.OpenCon(); DataTable table = uDB.Searchbykilk(kilk); foreach (DataRow dataRow in table.Rows) { str = str + String.Format("{0,-5}", dataRow[0].ToString()) + String.Format("{0,-11}", dataRow[1]) + String.Format("{0,-12}", dataRow[2]) + String.Format("{0,-13}", dataRow[3]) + String.Format("{0,-14}", dataRow[4]) + String.Format("{0,-7}", dataRow[5]+"\r\n"); } uDB.CloseCon(); textBox2.Text = str; uDB.CloseCon(); } }} Клас Search by dur.cs using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace laba2{ public partial class Searchbydur : Form { public Searchbydur() { InitializeComponent(); } //Стрічка підєднання до БД Access string conString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=album.accdb;Persist Security Info=False;"; private void button1_Click(object sender, EventArgs e) { useDB uDB = new useDB(conString); string str = ""; int dur = Convert.ToInt16(textBox1.Text); uDB.OpenCon(); DataTable table = uDB.Searchbydur(dur); foreach (DataRow dataRow in table.Rows) { str = str + String.Format("{0,-5}", dataRow[0].ToString()) + String.Format("{0,-11}", dataRow[1]) + String.Format("{0,-12}", dataRow[2]) + String.Format("{0,-13}", dataRow[3]) + String.Format("{0,-14}", dataRow[4]) + String.Format("{0,-7}", dataRow[5]+"\r\n"); } uDB.CloseCon(); textBox2.Text = str; uDB.CloseCon(); } }} Клас useDB.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Data; using System.Data.Common; namespace laba2{ class useDB { OleDbConnection conn; DataSet ds = new DataSet(); DbCommand comm; public useDB(string conString) { conn = new OleDbConnection(conString); } //методпідєднаннядоБД public void OpenCon() { conn.Open();} //Метод визначеннякількостізаписів в БД public int Cout() { int count; comm = conn.CreateCommand(); comm.CommandText = "Select count(*) from mus"; count = (int)comm.ExecuteScalar(); return count;} //Метод якийвибираєвсіелементи з БД public DataTable Allmus() { DbDataReader dr; DataTable temp = new DataTable(); comm = conn.CreateCommand(); comm.CommandText = "Select * from mus"; dr = comm.ExecuteReader(); temp.Load(dr);return temp; } //метод пошукуелементів по ІД public DataTable SearchbyID(int id){ DbDataReader dr; DataTable temp = new DataTable(); comm = conn.CreateCommand(); comm.CommandText = "Select * from mus where id="+id; dr = comm.ExecuteReader(); temp.Load(dr);return temp; } public DataTable Searchbyartist(String artist){ DbDataReader dr; DataTable temp = new DataTable(); comm = conn.CreateCommand(); comm.CommandText = "Select * from mus where artist like '" + artist + "%'"; dr = comm.ExecuteReader(); temp.Load(dr); return temp;} public DataTable Searchbyname(String name){ DbDataReader dr; DataTable temp = new DataTable(); comm = conn.CreateCommand(); comm.CommandText = "Select * from mus where name like '" + name + "%'"; dr = comm.ExecuteReader(); temp.Load(dr); return temp;} public DataTable Searchbytitle(String title){ DbDataReader dr; DataTable temp = new DataTable(); comm = conn.CreateCommand(); comm.CommandText = "Select * from mus where title like '" + title + "%'"; dr = comm.ExecuteReader(); temp.Load(dr); return temp;} public DataTable Searchbykilk(int kilk){ DbDataReader dr; DataTable temp = new DataTable(); comm = conn.CreateCommand(); comm.CommandText = "Select * from mus where kilk=" + kilk; dr = comm.ExecuteReader(); temp.Load(dr); return temp;} public DataTable Searchbydur(int dur){ DbDataReader dr; DataTable temp = new DataTable(); comm = conn.CreateCommand(); comm.CommandText = "Select * from mus where dur=" + dur; dr = comm.ExecuteReader(); temp.Load(dr); return temp;} public int Insertmusa(musa tempmusa) { comm = conn.CreateCommand(); //INSERT IN TO DATABASE comm.CommandText = "INSERT INTO mus (artist, name, title, kilk, dur)VALUES ('" + tempmusa.artist + "','" + tempmusa.name + "','" + tempmusa.title + "'," + tempmusa.kilk + "," + tempmusa.dur +");"; int rows = comm.ExecuteNonQuery();return rows; } //методзнищенняелементупоІД public int Deletemusa(int id) { comm = conn.CreateCommand(); //Delete IN TO DATABASE comm.CommandText = "DELETE FROM mus WHERE id="+id; int rows = comm.ExecuteNonQuery();return rows;} //методВідєднаннявідБД public void CloseCon() { conn.Close(); } }} Клас Program.cs using System; using System.Collections.Generic; using System.Linq; using System.Windows.Forms; namespace laba2{ static class Program { /// <summary> /// Главная точка входа для приложения. /// </summary> [STAThread] static void Main() { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } }} UML-діаграма  Результат виконання програми:         Висновок: засвоїти методику та виробив практичні навички роботи та створення Windows форм за допомогою Visual C# 2010.
Антиботан аватар за замовчуванням

06.02.2014 19:52

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Ділись своїми роботами та отримуй миттєві бонуси!

Нічого не вибрано
0%

Оголошення від адміністратора

Антиботан аватар за замовчуванням

Подякувати Студентському архіву довільною сумою

Admin

26.02.2023 12:38

Дякуємо, що користуєтесь нашим архівом!