Движение объекта на panel. Изменение направления при нажатии кнопки - C#

Узнай цену своей работы

Формулировка задачи:

Дело такое, есть круг, при нажатии кнопки "Старт" он начинает двигаться на право, и при этом у него цвет ЗЕЛЕНЫЙ, при нажатии "Стоп" он останавливается. Это я реализовал. Теперь мне нужно сделать так, что если я нажму на кнопку "Налево" то круг с того же места где он остановился начинает движение налево, при этом его цвет меняется на КРАСНЫЙ. ВОТ это FORM1.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace Dinamic
  11. {
  12. public partial class Form1 : Form
  13. {
  14. Class1 cl = new Class1();
  15. public Form1()
  16. {
  17. InitializeComponent();
  18. }
  19. private void button1_Click(object sender, EventArgs e)
  20. {
  21. if(timer1.Enabled)
  22. {
  23. timer1.Enabled = false;
  24. button1.Text = "Старт";
  25. }
  26. else
  27. {
  28. timer1.Enabled = true;
  29. button1.Text = "Стоп";
  30. }
  31. }
  32. private void timer1_Tick(object sender, EventArgs e)
  33. {
  34. cl.move(panel1);
  35. }
  36. private void panel1_Paint(object sender, PaintEventArgs e)
  37. {
  38. }
  39. private void button3_Click(object sender, EventArgs e)
  40. {
  41. }
  42. private void button2_Click(object sender, EventArgs e)
  43. {
  44. }
  45. }
  46. }
А вот Class1
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. using System.ComponentModel;
  4. using System.Data;
  5. using System.Drawing;
  6. using System.Linq;
  7. using System.Text;
  8. using System.Threading.Tasks;
  9. using System.Windows.Forms;
  10. namespace Dinamic
  11. {
  12. class Class1
  13. {
  14. public float x, y, k;
  15. public void Clear(Panel panel1)
  16. {
  17. Graphics g = panel1.CreateGraphics();
  18. g.Clear(SystemColors.Control);
  19. }
  20. public void move(Panel panel1)
  21. {
  22. Clear(panel1);
  23. x++;
  24. Graphics g = panel1.CreateGraphics();
  25. Pen p = new Pen(Color.Black);
  26. g.DrawEllipse(p, 200 + x, 230, 40, 40);
  27. g.FillEllipse(Brushes.Blue, 200 + x, 230, 40, 40);
  28. if (x>350)
  29. {
  30. x--;
  31. }
  32. }
  33. }
  34. }

Решение задачи: «Движение объекта на panel. Изменение направления при нажатии кнопки»

textual
Листинг программы
  1. public partial class Form1 : Form
  2.     {
  3.         Class1 cl = new Class1();
  4.         bool first = true;
  5.         public Form1()
  6.         {
  7.             InitializeComponent();
  8.         }
  9.         private void button1_Click(object sender, EventArgs e)
  10.         {
  11.             if(timer1.Enabled)
  12.             {
  13.                 timer1.Enabled = false;
  14.                 button1.Text = "Старт";
  15.                 first = !first;
  16.             }
  17.             else
  18.             {
  19.                 timer1.Enabled = true;
  20.                 button1.Text = "Стоп";
  21.                
  22.             }
  23.         }
  24.  
  25.         private void timer1_Tick(object sender, EventArgs e)
  26.         {
  27.             cl.move(panel1,first);
  28.         }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 3.818 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы