当前位置: 代码迷 >> C# >> C#统制控件运动
  详细解决方案

C#统制控件运动

热度:7   发布时间:2016-05-05 03:24:56.0
C#控制控件运动

要求1:实现点击”前进“,”小车“能够向上走,点击”后退“,小车停止向前开始向下,点击”停止“,”小车“停在当前位置
         2:”小车“不能瞬移
我现在能让小车向上向下走,但是无法让小车正在向上走的过程中停止或者向下,C#新手,望各位大神指教,感激不尽!
------解决思路----------------------
既然你都做到了让小车向上走了,停止反而不会做?我想问为啥
------解决思路----------------------
贴代码吧,很难理解为什么你不能停止
------解决思路----------------------
你先说说目前的思路,你是怎么做的
放个伪代码更好
------解决思路----------------------
直接將小车位移的代码放 timer 里面.
定义一个全局变量, move.
移动,  timer 的 enabled 为true ;
timer 事件:
        private void timer1_Tick(object sender, EventArgs e)
        {
            button1.Top = button1.Top + move;
        }

        private void 上移_Click(object sender, EventArgs e)
        {
            move = -1;
            timer1.Enabled = true;
        }

        private void 下移_Click(object sender, EventArgs e)
        {
            move = 1;
            timer1.Enabled = true;
        }

        private void 停止_Click(object sender, EventArgs e)
        {
            move = 0;
            timer1.Enabled = false;

        }
------解决思路----------------------
楼主我试了你的代码,没有任何更改,完全可以在小车前进的过程中停止或者后退。
------解决思路----------------------
停止或者向下

->停止timer,设置margin  就可以了。
------解决思路----------------------
按下后一直保持移动吗?你可以在停止按钮里让执行Move()的条件停止,使用timer就timer.Enable=false,子线程就abort或sleep

不过做成按钮按下的时候移动,释放的时候停止,更有意思一些
private void button_KeyDown(object sender, KeyEventArgs e)
{
    move();
}
  相关解决方案