Движущиеся кнопки - C#

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

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

всем привет, нужно сделать 2 движущиеся кнопки в потоках, кнопку запуска, паузы и остановки, я немного кода написал и уже появились непонятки в потоках, когда запускаю двигается только одна кнопка и приложение не закрывается совсем. так вот подскажите пожалуйста что здесь не правильно?
namespace WindowsFormsApplication7
{
    public delegate void HelperMotion(Button b);
    public partial class Form1 : Form
    {
        Thread t1, t2;
        HelperMotion helper;
 
        public Form1()
        {
            helper = new HelperMotion(Motion);
            InitializeComponent();
        }
        void Motion(Button button)
        {
            while (true)
            {
                Thread.Sleep(100);
                button.Location = new Point(button.Location.X+1, button.Location.Y);
            }
        }
        void Movement1()
        {
            Invoke(helper, button1);
        }
        void Movement2()
        {
            Invoke(helper, button2);
        }
 
        private void start_btn_Click(object sender, EventArgs e)
        {
            t1 = new Thread(Movement1);
            t2 = new Thread(Movement2);
            t1.IsBackground = t2.IsBackground = true;
            t1.Start();
            t2.Start();
        }
    }
}

Решение задачи: «Движущиеся кнопки»

textual
Листинг программы
 void Movement1()
        {
            Invoke(helper, button1);
        }
        void Movement2()
        {
            Invoke(helper, button2);
        }

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


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

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

9   голосов , оценка 3.889 из 5
Похожие ответы