Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Кіровоградський національний технічний університет
Кафедра програмування та захисту інформації
Дисципліна : Візуальне програмування
Лабораторна робота №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? Для того щоб виконувати дії з певною періодичністю.