我怎样才能改善这种过渡的外观?

How Can I Improve The Look Of This Transition?

我正在尝试在单击一个按钮后将两个按钮向下移动到屏幕外。我让它工作,但它非常不稳定。我怎样才能使这种转变更加流畅? -我正在使用 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;

        }
    }

我的定时器间隔也设置为 1 毫秒,只是因为我知道间隔越大它变得越不稳定。我整天都在寻找按钮转换教程并找到 none。如果这不可能,有人可以给我发送按钮淡出的教程吗?谢谢大家

完全隐藏它怎么样?

private void timer1_Tick(object sender, EventArgs e)
    {
        sleep_button.Visible = false;
        calibrate_button.Visible = false;
    }

您的时间选择已关闭。 1ms 太细了。在 20 毫秒左右尝试一些东西,这将导致您的代码每秒 运行 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 位置。

我希望这是有道理的。