0

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

然而,我想更进一步。我想让文本从顶部或底部向右或向左滚动。我可以直接用 C# 做到这一点吗?如何?

我会很感激一个有用的答案。谢谢。

4

4 回答 4

0

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

于 2013-04-02T12:46:53.013 回答
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);
}
于 2013-04-03T11:26:14.233 回答
0

你想让你的文字在表格上“飞”吗?如果是,为什么不改变标签位置?

于 2013-04-02T09:26:46.480 回答
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);

这会将标签从 -100、-100 滑动lbl_label到它在 500 毫秒内位于首位的位置。

于 2016-05-19T15:50:09.210 回答