问题就是这样,求教。
7 个解决方案
#1
用Timer把,不断更改控件的Location。
#2
int i = 402;//初始横坐标位置
private void timer1_Tick(object sender, EventArgs e)
{
label1.Location = new System.Drawing.Point(i, 47);
i++;//增加横坐标位置每次加1
if(i==589) //到达一定位置后还原
i=402;
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Location = new System.Drawing.Point(i, 47);
i++;//增加横坐标位置每次加1
if(i==589) //到达一定位置后还原
i=402;
}
#3
把timer的Intervl设置一下,那个就是控制速度的,默认是1000ms,
#4
整点有趣的嘛。。2 楼的语句改成
timeCount 用来保存经过的时间,acceleration 是运动加速度。。
// i++;
i = timeCount * acceleration;
timeCount++;
timeCount 用来保存经过的时间,acceleration 是运动加速度。。
#5
用Timer来实现,通过Interval来设置飞行的速度,在Timer的事件中写代码:
this.Controls[0].Top+=10;
this.Controls[0].Left+=10;
#6
感谢给位积极回答,让小生感动万分,其实用Timer我也早就想到,但是有点耗资源,因为我是同时飞很多个(多少我不清楚,看情况,一般我测试是>10)窗体有点闪呢。也想到用一个后台Thread来集中控制的。只是想想有没更方便的方法,比如有没一些WinAPI可以实现的。
#7
你做游戏啊。。直接画吧,别用控件飞了。。
#1
用Timer把,不断更改控件的Location。
#2
int i = 402;//初始横坐标位置
private void timer1_Tick(object sender, EventArgs e)
{
label1.Location = new System.Drawing.Point(i, 47);
i++;//增加横坐标位置每次加1
if(i==589) //到达一定位置后还原
i=402;
}
private void timer1_Tick(object sender, EventArgs e)
{
label1.Location = new System.Drawing.Point(i, 47);
i++;//增加横坐标位置每次加1
if(i==589) //到达一定位置后还原
i=402;
}
#3
把timer的Intervl设置一下,那个就是控制速度的,默认是1000ms,
#4
整点有趣的嘛。。2 楼的语句改成
timeCount 用来保存经过的时间,acceleration 是运动加速度。。
// i++;
i = timeCount * acceleration;
timeCount++;
timeCount 用来保存经过的时间,acceleration 是运动加速度。。
#5
用Timer来实现,通过Interval来设置飞行的速度,在Timer的事件中写代码:
this.Controls[0].Top+=10;
this.Controls[0].Left+=10;
#6
感谢给位积极回答,让小生感动万分,其实用Timer我也早就想到,但是有点耗资源,因为我是同时飞很多个(多少我不清楚,看情况,一般我测试是>10)窗体有点闪呢。也想到用一个后台Thread来集中控制的。只是想想有没更方便的方法,比如有没一些WinAPI可以实现的。
#7
你做游戏啊。。直接画吧,别用控件飞了。。