- •Університет економіки та права «крок»
- •Завдання на курсову роботу студента
- •Календарний план
- •Оглавление
- •Постановка задачі
- •Аналіз задачі на можливість розв'язання
- •Постановку задачі
- •Структури даних та діаграми класів для розв'язання задачі Клас Фотографія Розмір (int) Шлях до фото(string)
- •Опис розробленої програми
- •Оцінка достовірності результатів
- •Висновки
- •Список літератури
Структури даних та діаграми класів для розв'язання задачі Клас Фотографія Розмір (int) Шлях до фото(string)
Клас PictureBox
Область для зображення
Зміна фотографії автоматично
Клас Timer
Контролююча зміна фотографій
Форма кнопок для для зміни фотографій
Опис розробленої програми
Для створення продукту необхідно було створити зручний графічний інтерфейс. Це було зроблено завдяки стандартного класу «Form»
Після цього потрібно було розробити сам інтерфейс «оболонку» програми. При процесі розробки інтерфейсу були використані такі класи :
ComboBox : Для вибору довідкової бази.
PictureBox: Для відображення фотографій у формі.
MenuScript : Для економії місця у формі програми.
Button: Для керування переглядом фото.
Після цього необхідно було запрограмувати події. Першою запрограмованою подією було зміна фотографії кожну секунду.
Потім була запрограмована подія зміни фото за допомогою кнопок.
Та програмування кнопки вибору файлу із фотографіями.
Оцінка достовірності результатів
Після створення програмного продукту проект перейшов на стадію тестування та отримав задовільні результати які можна побачити на наступному малюнку.
Рисунок 1
Висновки
Програма виконана методами Об'є́ктно-орієнто́ваного програмува́ння.
Тестування програми на різних вхідних даних свідчить, що програма працює правильно. Позитивна якість програми є зручній інтерфейс. Та схожа на інші програми перегляду фотографій.
Список літератури
Гросс, К. C# и платформа NET 3.5 Framework: базовое руководство: учебное пособие / К. Гросс. - 2-е изд. - М. : ООО "И.Д. Вильямс", 2009. - 480 с.
Шилдт, Г. C# 3.0: руководство для начинающих: учебное пособие / Ш. Герберт. - 2-е изд. - М. : ООО "И.Д. Вильямс", 2009. - 688с.
Б. Мейер. Основы объектно-ориентированного программирования [электронный ресурс], точка доступа: http://www.intuit.ru/department/se/oopbases/
Довідкова служба Microsoft. [Електронний ресурс] – Режим доступу: http://msdn.micrisoft.com
Додаток : using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
namespace Kurosova_15_3kr
{
public partial class Form1 : Form
{
ImageList img=new ImageList();
int NomImg=0;
public Form1()
{
FolderBrowserDialog DirDialog = new FolderBrowserDialog();
DirDialog.Description = "Выбор директории";
DirDialog.SelectedPath = @"C:\";
SetStyle(ControlStyles.SupportsTransparentBackColor, true);
InitializeComponent();
this.NExt.BackColor = Color.Transparent;
this.Pre.BackColor = Color.Transparent;
System.Drawing.Size sz = new System.Drawing.Size(256, 256);
img.ImageSize = sz;
OpenImgFromFile(folderBrowserDialog1.SelectedPath);
}
private void timer1_Tick(object sender, EventArgs e)
{
if (NomImg > img.Images.Count-1)
NomImg = 0;
pictureBox1.Image = img.Images[NomImg];
NomImg++;
}
private void выбратьПапкуToolStripMenuItem_Click(object sender, EventArgs e)
{
timer1.Stop();
if(folderBrowserDialog1.ShowDialog() == DialogResult.OK)
{
OpenImgFromFile(folderBrowserDialog1.SelectedPath);
}
}
private void OpenImgFromFile(string directory)
{
NomImg = 0;
if(img!=null)
if (img.Images.Count > 0)
img.Images.Clear();
string[] files;
files = Directory.GetFiles(directory, "*.jpg");
foreach(string s in files)
{
img.Images.Add(Image.FromFile(s));
}
files = Directory.GetFiles(directory, "*.png");
foreach (string s in files)
{
img.Images.Add(Image.FromFile(s));
}
timer1.Start();
}
private void Pre_Click(object sender, EventArgs e)
{
timer1.Stop();
if (NomImg - 1 < 0)
{
NomImg = img.Images.Count;
NomImg--;
pictureBox1.Image = img.Images[NomImg];
}
else
{
NomImg--;
pictureBox1.Image = img.Images[NomImg];
}
}
private void NExt_Click(object sender, EventArgs e)
{
timer1.Stop();
if (NomImg < img.Images.Count-1)
{
NomImg++;
pictureBox1.Image = img.Images[NomImg];
}
else
{
NomImg = 0;
NomImg++;
pictureBox1.Image = img.Images[NomImg];
}
}
}
}
