在Visual Studio中使用C#有办法让一个面板缓慢移动吗?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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);
}
}
以上是关于在Visual Studio中使用C#有办法让一个面板缓慢移动吗?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法用 C# 在 Visual Studio 中调用已经存在的表单的函数
为啥visual studio 2013安装后,没有c#模板?
使用Unity时打开C# 弹出opening visual studio一直停在这个界面是啥情况?有啥办法解决?
在 Windows 上通过 Visual Studio C# 和 ASP.NET 使用 Compass