点击一个按钮后,我试图将两个按钮向下和屏幕外翻译。我有它的工作,但它非常不稳定。如何使这种转变更加流畅? - 我正在使用Microsoft Visual Studio 2015 - 我使用的语言是c# 这是我的转换代码:
private void timer1_Tick(object sender, EventArgs e)
{
int speed_increase = 100;
if(sleep_button.Top <= 800 || calibrate_button.Top <= 800)
{
sleep_button.Top += speed_increase;
calibrate_button.Top += speed_increase;
}
}
我的定时器间隔也设置为1ms,只是因为我知道它变得更大的间隔。我一直在寻找一个按钮转换教程,但没有找到。如果这不可能,有人可以给我一个按钮淡出的教程吗?谢谢大家
答案 0 :(得分:0)
完全隐藏它怎么样?
private void timer1_Tick(object sender, EventArgs e)
{
sleep_button.Visible = false;
calibrate_button.Visible = false;
}
答案 1 :(得分:0)
您的时间选择已关闭。 1ms太精细了。尝试在20ms左右的标记,这将导致您的代码每秒运行50次,这与大约50hz的常见刷新率非常接近。
按钮需要滚动多远?需要多长时间?
假设X是滚动的距离,Y是以秒为单位的时间。迭代次数为Y * 50(每秒50次),每步的距离为X / Y.
X = 200像素 Y = 2秒。
每步的距离是:
X /(Y * 50)
200 /(2 * 50)
200/100
== 2
如果要在2秒内滚动200像素,则需要在每次迭代时将2添加到每个按钮的Y位置。
我希望这是有道理的。