在Visual Studio中使用C#有办法让一个面板缓慢移动吗?

我已经编写了一个表格,当一个按钮被点击时,面板会移动到被点击按钮的高度。然而,我想让面板缓慢移动,而不是立即移动。

这是我使用的代码。

 public partial class Form1 : Form
 {
    public Form1()
    {
        InitializeComponent();
        MovePanel(btn1);
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    }

    private void MovePanel(Control c)
    {
        Panel.Height = c.Height;
        Panel.Top = c.Top;
    }
    private void btn1_Click(object sender, EventArgs e)
    {
        MovePanel(btn1);
    }

    private void btn2_Click(object sender, EventArgs e)
    {
        MovePanel(btn2);
    }

    private void btn3_Click(object sender, EventArgs e)
    {
        MovePanel(btn3);
    }
}

解决方案:

我真的很想看到一个基于定时器的解决方案,从头开始。

同时,你可以看看NuGet上的dot-net-transitions之类的东西。

using Transitions;

public partial class Form1 : Form
{
    public Form1()
    {
        InitializeComponent();

        btn1.Click += btn_Click;
        btn2.Click += btn_Click;
        btn3.Click += btn_Click;

        MovePanel(btn1);
    }

    private void MovePanel(Control c)
    {
        var t = new Transition(new TransitionType_Linear(500));
        t.add(Panel, "Height", c.Height);
        t.add(Panel, "Top", c.Top);
        t.run();
    }

    private void btn_Click(object sender, EventArgs e)
    {
        MovePanel(sender as Control);
    }
}

给TA打赏
共{{data.count}}人
人已打赏
解决方案

将图形改为对数比例,但轴保持在非对数比例中

2022-4-21 9:00:15

解决方案

如何在SQL查询中编写一个日期范围的代码,使其从当前日期向前追溯3周,并从当前日期向前追溯1周。

2022-4-21 10:09:02

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索