Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Кіровоградський національний технічний університет
Кафедра програмування та захисту інформації
Дисципліна : Візуальне програмування
Лабораторна робота №5
Тема: Інтерфейс користувача та елементи керування
Тема: Інтерфейс користувача та елементи керування
Мета: Навчитися створювати динамічні додатки, що працюють за принципами керування подіями
Завдання до лабораторної роботи:
Реалізуйте описану в теоретичній частині гру «Перегони жуків». Додайте в програму поле, в якому буде виводитися ім'я переможця. Реалізуйте можливість управління програмою через меню користувача та створіть вікно довідки про програму.
Код
using System;
using System.Text.RegularExpressions;
using System.Windows.Forms;
namespace lab2visual
{
public partial class Form1 : Form
{
int flag1;
int x1, x2;
int Finish;
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
textBox1.Text = "Гравець 1";
textBox2.Text = "Гравець 2";
label1.Text = "0";
label2.Text = "0";
pictureBox1.Left = 1;
pictureBox2.Left = 1;
Finish = panel1.Size.Width - pictureBox1.Width;
}
private void button1_Click(object sender, EventArgs e)
{
flag1 = 1;
}
private void timer1_Tick_1(object sender, EventArgs e)
{
if (flag1 != 0)
{
Random a = new Random();
int count = a.Next(8);
x1 += count;
label1.Text = Convert.ToString(x1);
pictureBox1.Left = x1;
count = a.Next(8);
x2 += count;
label2.Text = Convert.ToString(x2);
pictureBox2.Left = x2;
}
if ((x1 >= Finish) || (x2 >= Finish))
{
flag1 = 0;
}
}
private void button2_Click(object sender, EventArgs e)
{
label1.Text = "0";
label2.Text = "0";
x1 = 1; x2 = 1;
pictureBox1.Left = x1;
pictureBox2.Left = x2;
flag1 = 0;
}}}
Виводити у вікні фігуру, що рухається по ньому випадковим чином, по формі.
Код
using System;
using System.Drawing;
using System.Text.RegularExpressions;
using System.Linq;
using System.Windows.Forms;
namespace lab2visual
{
public partial class Form1 : Form
{
double x1, x2, y1, y2;
double angle;
double speed;
public Form1()
{
InitializeComponent();
speed = 5;
angle = 0;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
x1 = pictureBox1.Left;
y1 = pictureBox1.Top;
x2 = e.X;
y2 = e.Y;
angle = GetAngle();
}
double GetAngle()
{
return Math.Atan2((x1 - x2), (y1 - y2));
}
private void timer1_Tick(object sender, EventArgs e)
{
x1 -= speed * Math.Sin(angle);
y1 -= speed * Math.Cos(angle);
pictureBox1.Top = (int)y1;
pictureBox1.Left = (int)x1;
}}}
Контрольні запитання:
Які елементи керування необхідно було використати в даній лабораторній роботі? Timer.
Що вони дозволяють реалізувати та які властивості мають? Таймер використовується для повторення дії.
3) Для чого використовується елемент керування Timer? Для того щоб виконувати дії з певною періодичністю.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!