C# 如何改进此过渡的外观?
我试图在点击一个按钮后,将两个按钮向下转换并移出屏幕。我让它工作,但它很颠簸。如何使此过渡更流畅?C# 如何改进此过渡的外观?,c#,visual-studio,transitions,C#,Visual Studio,Transitions,我试图在点击一个按钮后,将两个按钮向下转换并移出屏幕。我让它工作,但它很颠簸。如何使此过渡更流畅? -我正在使用Microsoft Visual Studio 2015 -我使用的语言是c# 这是我的转换代码: private void timer1_Tick(object sender, EventArgs e) { int speed_increase = 100; if(sleep_button.Top <= 800 || calibrat
-我正在使用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;
}
}
private void timer1\u勾选(对象发送方,事件参数e)
{
int速度_增加=100;
如果(sleep_button.Top把它全部隐藏起来怎么样
private void timer1_Tick(object sender, EventArgs e)
{
sleep_button.Visible = false;
calibrate_button.Visible = false;
}
您的计时选择已关闭。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像素,则需要在每次迭代中向每个按钮的Y位置添加2
我希望这是有意义的。这是什么平台?WinForms?WPF?Microsoft Visual Studio这不是平台。项目类型是什么?我的错,Windows窗体应用程序需要在1秒内转换700像素。所以700/(1*50)==14,我将计时器更改为20ms,将速度变量更改为14,但动画耗时超过两秒,仍然非常不稳定。有什么建议吗?在过渡期间,您的程序是否正在执行其他重要工作?没有,我已切换到WPF。应能更好地处理过渡,并且它可以在Windows上运行