我可以在C#中创建过渡效果吗?

时间:2013-04-02 09:13:06

标签: c# winforms label effects

我有一个表格和几个标签。我正在创建一个带有所述表单的屏幕保护程序。到目前为止,我已经能够以不同的间隔显示文本标签。

但是,我想进一步说明问题。我希望从右上方或左上方的顶部或底部滚动文本。我可以直接用C#做这个吗?怎么样?

我希望得到一个有用的答案。感谢。

4 个答案:

答案 0 :(得分:0)

您希望文本在表单上“飞行”吗?如果是,为什么不改变标签位置?

答案 1 :(得分:0)

没有看到类似的东西......但是如果你知道什么是Expression Blend,你可以制作自己的元素样式(颜色,形式,大小,动画)。你可以尝试在那里实现它......

答案 2 :(得分:0)

创建一个间隔较小的计时器,只需使用:

//Move right:
label1.Location = new Point(label1.Location.X + 1, label1.Location.Y);
//Move left:
label1.Location = new Point(label1.Location.X - 1, label1.Location.Y);

也许是这样的:

private void timer1_Tick(object sender, EventArgs e)
{
    if (label1.Location.X <= Width)
        label1.Location = new Point(label1.Location.X + 1, label1.Location.Y);
    else
        label1.Location = new Point(0, label1.Location.Y);
}

答案 3 :(得分:0)

您和其他想要做类似事情的人可以简单地使用以下框架:

  

WinForm动画库[.Net3.5 +]

     

一个简单的库,用于在.Net WinForm(.Net中)中设置控件/值的动画   3.5及以后)。基于关键帧(路径)并可完全自定义。

https://falahati.github.io/WinFormAnimation/

new Animator2D(
        new Path2D(new Float2D(-100, -100), lbl_label.Location.ToFloat2D(), 500))
    .Play(lbl_label, Animator2D.KnownProperties.Location);

这会将lbl_label标签从-100,-100滑动到500毫秒内的第一个位置。