如何控制button1在Panel中反复运动

解决方案 »

  1.   

    timer判断控制button的left即可,判断left+width>= panel的width了,就往回
      

  2.   

     private void Form1_Load(object sender, EventArgs e)
            {
                Thread t = new Thread(new ThreadStart(DoMoveButton));
                t.IsBackground = true;
                t.Start();
            }        private void DoMoveButton()
            {
                int x = 0;
                MoveControl dele = SafeRemove;
                while (true)
                {
                    Point buttonPosition = button1.Location;
                    if (buttonPosition.X <= 0)
                    {
                        x = panel1.Location.X + panel1.Width;
                    }
                    else
                    {
                        x = buttonPosition.X - 2;
                    }
                    Point p = new Point(x, buttonPosition.Y);
                    button1.Invoke(dele, p);
                    Thread.Sleep(100);
                }
            }        public delegate void MoveControl(Point p);        private void SafeRemove(Point p)
            {
                button1.Location = p;
            }我开了个线程移动控件...
      

  3.   

    貌似不行, 错误 CS0246: 找不到类型或命名空间名称“Thread”(是否缺少 using 指令或程序集引用?)
      

  4.   

    大哥你最喜欢照抄了,改变button的location就可以了,自己多想想啊