我正在尝试获取一首歌的歌词并将其在标签中滚动,但我希望标签一次仅显示 15 个字符。这就像一个稳定的滚动到歌曲的结尾。我该怎么做呢?我到处都找过了,但似乎找不到任何关于此的信息。
最佳答案
构造一个循环来设置标签的 .Text
属性。循环的每次迭代都应增加您希望每次迭代滚动的字符数。
string Lyrics = "This song is just six words long";
int CurrentPosition = 0;
const int CharactersToShow = 15;
for (int i = 0; i < Lyrics.Length; i++)
{
lblOutput.Text = CharactersToShow + CurrentPosition > Lyrics.Length
? Lyrics.Substring(CurrentPosition)
: Lyrics.Substring(CurrentPosition, CharactersToShow);
CurrentPosition++;
lblOutput.Update();
Thread.Sleep(250);
}
一些注释:这只是一个例子。正如所写的,它垄断了 GUI 线程,因为它几乎总是处于 sleep 状态。
您可能希望使用一个每次更新标签的计时器,而不是 sleep 延迟。
关于c# - 如何获取长字符串并将其滚动到 15 个字符的文本控件/标签中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220203/