Движение объекта на 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);
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д