作者: jingqia
查看: 3495|回复: 3
打印 上一主题 下一主题

[源码] 【跑马灯效果】C# 模拟跑马灯效果(2种)

[复制链接]
跳转到指定楼层
楼主
jingqia 发表于 2016-5-13 09:36:22 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
查看: 3495|回复: 3
说明:
项目中用到的(跑马灯效果),分享给大家

代码:
[C#] 纯文本查看 复制代码
#region 跑马灯效果方法
/// <summary>
/// 文字进入左侧后从右侧出来
/// </summary>
private void LabelRun()
{
    if ((lbMsg.Location.X + lbMsg.Width) > 0)
    {
        lbMsg.Left = lbMsg.Left - 2;
    }
    else//设置文字初始位置
    {
        lbMsg.Left = pBox.Width;
    }
}
bool flag = true;//标记文字滚动防线  true--往左  false--往右
/// <summary>
/// 文字在容器内来回碰撞
/// </summary>
private void LabelRunEx()
{
    if (flag)
    {
        if (lbMsg.Left > 0)//判断文字开端是否碰撞到了容器左侧边缘
        {
            lbMsg.Left = lbMsg.Left - 5;
            if (lbMsg.Left <= 0)
            {
                flag = false;
            }
        }
    }
    else
    {
        lbMsg.Left = lbMsg.Left + 5;
        if (lbMsg.Left >= pBox.Width - lbMsg.Width)//判断文字末尾是否碰撞到了容器右侧边缘
        {
            flag = true;
        }
    }
}
#endregion

#region 跑马灯线程  调用
 new Thread(() =>
 {
     while (true)
     {
         try
         {
             LabelRun();
         }
         catch { }
         Thread.Sleep(50);
     }
 }) { IsBackground = true }.Start();
#endregion

评分

参与人数 1金钱 +3 收起 理由
乔克斯 + 3 感谢分享,LZ辛苦了~

查看全部评分

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏2 转播转播
回复 论坛版权

使用道具 举报

地板
wking 发表于 2020-1-14 15:08:17 | 只看该作者
/// 文字在容器内来回碰撞
板凳
 楼主| jingqia 发表于 2016-5-13 11:32:36 | 只看该作者
贱贱的贱贱 发表于 2016-5-13 11:13
开发人员应该更注重于 业务逻辑的设计与实现, 而不是任何一个美工几分钟就能设计出来的gif效果 ...

项目中跑马灯使用到的文字是会变的,要考虑实际需求,能自己动手干嘛费那个劲,这种小功能美工做不完图片都做完了
沙发
贱贱的贱贱 发表于 2016-5-13 11:13:55 | 只看该作者
开发人员应该更注重于 业务逻辑的设计与实现, 而不是任何一个美工几分钟就能设计出来的gif效果
您需要登录后才可以回帖 登录 | 加入CSkin博客

本版积分规则

QQ|申请友链|小黑屋|手机版|Archiver|CSkin ( 粤ICP备13070794号

Powered by Discuz! X3.2  © 2001-2013 Comsenz Inc.  Designed by ARTERY.cn
GMT+8, 2024-12-24 10:30, Processed in 0.564437 second(s), 30 queries , Gzip On.

快速回复 返回顶部 返回列表