0

フォームといくつかのラベルがあります。上記のフォームでスクリーンセーバーを作成しています。これまでのところ、テキスト ラベルをさまざまな間隔で表示することができました。

しかし、私はそれをさらに一歩進めたいと思っています。上または下から右または左方向にテキストをスクロールさせたいと思います。これを C# で直接行うことはできますか? どのように?

役立つ回答をいただければ幸いです。ありがとう。

4

4 に答える 4

0

そのようなものを見たことがありません... しかし、Expression Blend が何であるかを知っていれば、独自の要素スタイル (色、形、サイズ、アニメーション) を作成できます。あなたはそこでそれを実現しようとすることができます...

于 2013-04-02T12:46:53.013 に答える
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 ミリ秒でスライドされます。

于 2016-05-19T15:50:09.210 に答える
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 に答える