Файл: Проектирование и разработка графического интерфейса пользователя.docx
Добавлен: 22.11.2023
Просмотров: 390
Скачиваний: 21
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Богданов Илья Владимирович, группа ИСП–9–21
ОТЧЕТ О ПРАКТИЧЕСКОМ ЗАНЯТИИ №9
Тема: Проектирование и разработка графического интерфейса пользователя.
Цель: Получение навыков проектирования и разработки интерфейса пользователя.
Ход работы
Задание 1: Настроить среду разработки Visual Studio. Создать приложение для Windows, которое имитирует игровой автомат со «счастливыми» числами. Программа должна иметь следующий интерфейс (рисунок 16).
При нажатии на кнопку «Крутить» должны генерироваться три случайных числа от 0 до 9. Если хотя бы одно из них равно семи, на форме должны появляться надпись «Счастливая семерка» и картинка с изображением человека, платящего игроку деньги при выигрыше. При нажатии на кнопке «Выход» программа должна завершать работу. Решение сохранить под именем «Игра». Создать исполняемый файл приложения.
Добавить в созданную форму метку и организовать отображение на ней процента выигрышей по отношению к общему числу нажатий на кнопку «Крутить».
Добавить в программу оператор Randomize для того, чтобы программа при каждом запуске выдавала новую последовательность случайных чисел.
Создано приложение в визуальной среде разработки JetBrains Rider. При нажатии кнопки Крутить, генерируются три случайных числа, если одно число равно 7, то отображается картинка, производится расчет общего числа выигрышей к числу всех игр и отображается в процентах. При нажатии кнопки Выход, программа закрывается.
Результат работы представлен на рисунке 1.
Рисунок 1 – Программа 1
Исходный код представлен ниже:
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;
namespace RKIS_PR9._1
{
public partial class Form1 : Form
{
private int tryings = 0;
private int wins = 0;
public Form1()
{
InitializeComponent();
}
private void button2_Click(object sender, EventArgs e)
{
Environment.Exit(0);
}
private void button1_Click(object sender, EventArgs
e)
{
Random rand = new Random();
int number1 = rand.Next(0, 10);
int number2 = rand.Next(0, 10);
int number3 = rand.Next(0, 10);
label1.Text = number1.ToString();
label2.Text = number2.ToString();
label3.Text = number3.ToString();
tryings += 1;
if (number1 == 7 || number2 == 7 || number3 == 7)
{
label4.Visible = true;
pictureBox1.Visible = true;
wins += 1;
}
else
{
label4.Visible = false;
pictureBox1.Visible = false;
}
statusBar1.Text = $"Процент выйгрыша = {(double)wins*100/tryings}%";
}
}
}
Задание 2: Создать приложение для Windows «Продажи онлайн», которое позволяет выбрать для заказа компьютер, офисную технику и периферийные устройства с выводом в форму изображения выбранного оборудования, указать способ оплаты и желаемую дату поставки. Возможные способы оплаты: рубли, доллары США, английские фунты. При выборе способа оплаты должно появляться его символическое изображение. Пользователь, выбрав товары для заказа, вводит название фирмы. Рекомендуемый интерфейс приложения приведен на рисунке 17.
Решение сохранить под именем «Продажи». Создать исполняемый файл приложения.
Добавить в список офисной техники «МФУ» и добавить еще один объект
PictureBox для отображения рисунка МФУ. Соответствующим образом изменить программный код.
Добавить в способы оплаты «Чек».
Создано приложение по заданию. Программа позволяет выбрать тип компьютера, выбрать офисную технику, периферию, способ оплаты, называние фирмы, желаемую дату поставки, при выборе компонентов, программа отображает выбранные компоненты в виде фотографий. При нажатии кнопки Выход, программа закрывается.
Результат работы представлен на рисунке 2.
Рисунок 2 – Программа 2
Исходный код программы:
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;
namespace RKIS_PR9._2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBox1.SelectedIndex = 0;
}
private
void groupBox3_Enter(object sender, EventArgs e)
{
}
private void radioButton1_CheckedChanged(object sender, EventArgs e)
{
pictureBox1.ImageLocation = "PC.jpg";
}
private void button1_Click(object sender, EventArgs e)
{
Environment.Exit(0);
}
private void radioButton2_CheckedChanged(object sender, EventArgs e)
{
pictureBox1.ImageLocation = "mac.jpg";
}
private void radioButton3_CheckedChanged(object sender, EventArgs e)
{
pictureBox1.ImageLocation = "laptop.jpg";
}
private void checkBox1_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkBox = (CheckBox)sender;
if (checkBox.Checked)
pictureBox2.ImageLocation = "auto.jpg";
else
pictureBox2.ImageLocation = null;
}
private void checkBox2_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkBox = (CheckBox)sender;
if (checkBox.Checked)
pictureBox3.ImageLocation = "calc.png";
else
pictureBox3.ImageLocation = null;
}
private void checkBox3_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkBox = (CheckBox)sender;
if (checkBox.Checked)
pictureBox4.ImageLocation = "copy.jpg";
else
pictureBox4.ImageLocation = null;
}
private void checkBox4_CheckedChanged(object sender, EventArgs e)
{
CheckBox checkBox = (CheckBox)sender;
if (checkBox.Checked)
pictureBox5.ImageLocation = "mfu.jpg";
else
pictureBox5.ImageLocation = null;
}
private void listView1_SelectedIndexChanged(object sender, EventArgs e)
{
ListView.SelectedIndexCollection selectedIndices = listView1.SelectedIndices;
if (selectedIndices.Count > 0)
{
int selectedIndex = selectedIndices[0];
switch (selectedIndex)
{
case 0:
pictureBox6.ImageLocation = "hdd.jpg";
break;
case 1:
pictureBox6.ImageLocation = "print.jpg";
break;
case 2:
pictureBox6.ImageLocation = "sa.jpg";
break;
}
}
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
int selectedIndex = comboBox1.SelectedIndex;
switch (selectedIndex)
{
case 0:
label5.Text = "";
break;
case 1:
label5.Text = "\u20BD";
break;
case 2:
label5.Text = "\u0024";
break;
case 3:
label5.Text = "\u00A3";
break;
case 4:
label5.Text = "";
break;
}
}
}
}
Вывод: Получены навыки проектирования и разработки интерфейса пользователя.