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

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

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

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

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

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ, МОЛОДІ ТА СПОРТУ УКРАЇНИ ТЕХНІЧНИЙ КОЛЕДЖ НАЦІОНАЛЬНОГО УНІВЕРСИТЕТУ «ЛЬВІВСЬКА ПОЛІТЕХНІКА» КАФЕДРА ІНФОРМАЦІЙНИХ ТЕХНОЛОГІЙ ТА КОМП’ЮТЕРНОЇ ТЕХНІКИ Лабораторна робота №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:02-

Коментарі

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

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

Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!
Нічого не вибрано
0%

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

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

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

Admin

26.02.2023 12:38

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