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

本文关键字:过渡效果 创建 我可以 | 更新日期: 2023-09-27 18:07:05

我有一个表单和几个标签。我正在创建一个屏幕保护程序与上述形式。到目前为止,我已经能够让文本标签以不同的间隔出现。

然而,我想更进一步。我想有一个文本滚动从上或下在右或左方向。我可以直接用c#做到这一点吗?如何?

如果你能给我一个有用的答案,我会很感激的。谢谢。

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

你想让你的文本在表单上"飞" ?如果是,为什么不改变标签位置?

还没见过这样的东西…但是如果你知道什么是Expression Blend,你就可以创建自己的元素样式(颜色,形状,大小,动画)。

创建一个低间隔的计时器,并使用:

//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);
}

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

WinForm动画库(.Net3.5 +)

一个简单的库,用于动画控件/值在。net WinForm(。网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 ms内的第一位置