Движение объекта на panel. Изменение направления при нажатии кнопки - C#
Формулировка задачи:
Дело такое, есть круг, при нажатии кнопки "Старт" он начинает двигаться на право, и при этом у него цвет ЗЕЛЕНЫЙ, при нажатии "Стоп" он останавливается.
Это я реализовал.
Теперь мне нужно сделать так, что если я нажму на кнопку "Налево" то круг с того же места где он остановился начинает движение налево, при этом его цвет меняется на КРАСНЫЙ.
ВОТ это FORM1.
А вот Class1
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 Dinamic
{
public partial class Form1 : Form
{
Class1 cl = new Class1();
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if(timer1.Enabled)
{
timer1.Enabled = false;
button1.Text = "Старт";
}
else
{
timer1.Enabled = true;
button1.Text = "Стоп";
}
}
private void timer1_Tick(object sender, EventArgs e)
{
cl.move(panel1);
}
private void panel1_Paint(object sender, PaintEventArgs e)
{
}
private void button3_Click(object sender, EventArgs e)
{
}
private void button2_Click(object sender, EventArgs e)
{
}
}
}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 Dinamic
{
class Class1
{
public float x, y, k;
public void Clear(Panel panel1)
{
Graphics g = panel1.CreateGraphics();
g.Clear(SystemColors.Control);
}
public void move(Panel panel1)
{
Clear(panel1);
x++;
Graphics g = panel1.CreateGraphics();
Pen p = new Pen(Color.Black);
g.DrawEllipse(p, 200 + x, 230, 40, 40);
g.FillEllipse(Brushes.Blue, 200 + x, 230, 40, 40);
if (x>350)
{
x--;
}
}
}
}Решение задачи: «Движение объекта на panel. Изменение направления при нажатии кнопки»
textual
Листинг программы
public partial class Form1 : Form
{
Class1 cl = new Class1();
bool first = true;
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
if(timer1.Enabled)
{
timer1.Enabled = false;
button1.Text = "Старт";
first = !first;
}
else
{
timer1.Enabled = true;
button1.Text = "Стоп";
}
}
private void timer1_Tick(object sender, EventArgs e)
{
cl.move(panel1,first);
}