我有一个表格和几个标签。我正在使用上述表格创建屏幕保护程序。到目前为止,我已经能够让文本标签以不同的间隔出现。
然而,我想更进一步。我想让文本从顶部或底部向右或向左滚动。我可以直接用 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(.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 毫秒内位于首位的位置。