朝阳群众 2014-07-09 01:53 采纳率: 0%
浏览 966

在C#做音乐播放器的标题文字如何实现水平来回滚动

Point p = new Point();
p.X = this.labelTitle.Location.X - 10;
p.Y = this.labelTitle.Location.Y;
if (p.X < this.Location.X)
p.X = this.Width;
this.labelTitle.Location = p;
this.timerTime.Interval = 200;
这一段代码功能不完善,标题会不见

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-08-02 06:27
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    这段代码可以实现一个简单的标题文本水平滚动的效果。但是,在你的示例中,如果滚动到屏幕边缘,滚动后的标题文本可能会消失。为了修复这个问题,你可以使用ScrollIntoView()方法来确保滚动后标题仍然可见。

    这是一个修改后的版本:

    private void ScrollLabelTitle()
    {
        var labelTitleLocation = new Point(this.Location.X, this.Location.Y);
    
        if (labelTitleLocation.X > this.Width)
        {
            // 如果滚动到屏幕外,将其移动回屏幕内
            labelTitleLocation = new Point(this.Width, this.Location.Y);
        }
    
        this.labelTitle.Location = labelTitleLocation;
    }
    
    private void timerTime_Tick(object sender, EventArgs e)
    {
        this.ScrollLabelTitle();
    }
    

    现在,当滚动时,滚动后的标题应该能保持在屏幕上。

    评论

报告相同问题?