Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Kursova_Irzhanenko - копия.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
105.17 Кб
Скачать

Структури даних та діаграми класів для розв'язання задачі Клас Фотографія Розмір (int) Шлях до фото(string)

Клас PictureBox

Область для зображення

Зміна фотографії автоматично

Клас Timer

Контролююча зміна фотографій

Форма кнопок для для зміни фотографій

Опис розробленої програми

Для створення продукту необхідно було створити зручний графічний інтерфейс. Це було зроблено завдяки стандартного класу «Form»

Після цього потрібно було розробити сам інтерфейс «оболонку» програми. При процесі розробки інтерфейсу були використані такі класи :

  • ComboBox : Для вибору довідкової бази.

  • PictureBox: Для відображення фотографій у формі.

  • MenuScript : Для економії місця у формі програми.

  • Button: Для керування переглядом фото.

Після цього необхідно було запрограмувати події. Першою запрограмованою подією було зміна фотографії кожну секунду.

Потім була запрограмована подія зміни фото за допомогою кнопок.

Та програмування кнопки вибору файлу із фотографіями.

Оцінка достовірності результатів

Після створення програмного продукту проект перейшов на стадію тестування та отримав задовільні результати які можна побачити на наступному малюнку.

Рисунок 1

Висновки

Програма виконана методами Об'є́ктно-орієнто́ваного програмува́ння.

Тестування програми на різних вхідних даних свідчить, що програма працює правильно. Позитивна якість програми є зручній інтерфейс. Та схожа на інші програми перегляду фотографій.

Список літератури

  1. Гросс, К. C# и платформа NET 3.5 Framework: базовое руководство: учебное пособие / К. Гросс. - 2-е изд. - М. : ООО "И.Д. Вильямс", 2009. - 480 с.

  2. Шилдт, Г. C# 3.0: руководство для начинающих: учебное пособие / Ш. Герберт. - 2-е изд. - М. : ООО "И.Д. Вильямс", 2009. - 688с.

  3. Б. Мейер. Основы объектно-ориентированного программирования [электронный ресурс], точка доступа: http://www.intuit.ru/department/se/oopbases/

  4. Довідкова служба 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];

}

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]