C#中实现label中文字循环滚动
2010-07-09 10:11
274 查看
要想在C#中实现label中文字循环从右至左滚动
弄了好半天,总是觉得这有点小问题那有点小问题
今天终于让我找着了,先记下来免得以后忘了
首先放一个timer控件,让其Interval属性为300,enable属性为true
然后拖一个Label,ID为lblMessage,Text写欢迎光临.
准备工作做好了,接下来在timer的timer_Tick事件里写:
int left = lblMessage.Left;//获得该Label距离窗体左边缘的距离
int right=lblMessage.Right;//获得Label距离窗体右边缘的距离
left = left - 3;//每执行一次timer_Tick距离窗体的左距离减3像素,这个操作只是控制像左移动的幅度,可以更改
if (right <= 0)//如果右边的距离为0,也就是Label完全退出窗体左边的时候,设置左边距为窗体宽度,此时Label会从右边出来
{
left = this.Width;
}
lblMessage.Left = left;//把每次左边距变化后的值设置给左边距属性,以使Label改变,达到滚动的效果
把你要显示的字符串赋给lblMessage.Text就可以了
Label中文字左右滚动
这个是自己拼起来来的,也不知道怎么简单,就写成这样了,不过可以实现在label中左右滚动
在这之前要定义一个用来控制滚动的线程(可以改一下方法为传入参数,参数是文字滚动的label)
public void Roll()
{
string a = "左边";
do
{
if (a == "左边")
{
do
{
roll++;
this.lblrollfont.Location = new System.Drawing.Point(roll, 10);
if (this.lblrollfont.Location.X + 1 == 349)
//349是lable的x座标(就是移到要换方向滚动向右边时的X座标)
{
a = "右边";
break;
}
Thread.Sleep(10);
} while (a == "左边");
}
if (a == "右边")
{
do
{
roll--;
this.lblrollfont.Location = new System.Drawing.Point(roll, 10);
if (this.lblrollfont.Location.X + 1 == 0)
{
a = "左边";
break;
}
Thread.Sleep(10);
} while (1 == 1);
}
} while (1 == 1);
}
弄了好半天,总是觉得这有点小问题那有点小问题
今天终于让我找着了,先记下来免得以后忘了
首先放一个timer控件,让其Interval属性为300,enable属性为true
然后拖一个Label,ID为lblMessage,Text写欢迎光临.
准备工作做好了,接下来在timer的timer_Tick事件里写:
int left = lblMessage.Left;//获得该Label距离窗体左边缘的距离
int right=lblMessage.Right;//获得Label距离窗体右边缘的距离
left = left - 3;//每执行一次timer_Tick距离窗体的左距离减3像素,这个操作只是控制像左移动的幅度,可以更改
if (right <= 0)//如果右边的距离为0,也就是Label完全退出窗体左边的时候,设置左边距为窗体宽度,此时Label会从右边出来
{
left = this.Width;
}
lblMessage.Left = left;//把每次左边距变化后的值设置给左边距属性,以使Label改变,达到滚动的效果
把你要显示的字符串赋给lblMessage.Text就可以了
Label中文字左右滚动
这个是自己拼起来来的,也不知道怎么简单,就写成这样了,不过可以实现在label中左右滚动
在这之前要定义一个用来控制滚动的线程(可以改一下方法为传入参数,参数是文字滚动的label)
public void Roll()
{
string a = "左边";
do
{
if (a == "左边")
{
do
{
roll++;
this.lblrollfont.Location = new System.Drawing.Point(roll, 10);
if (this.lblrollfont.Location.X + 1 == 349)
//349是lable的x座标(就是移到要换方向滚动向右边时的X座标)
{
a = "右边";
break;
}
Thread.Sleep(10);
} while (a == "左边");
}
if (a == "右边")
{
do
{
roll--;
this.lblrollfont.Location = new System.Drawing.Point(roll, 10);
if (this.lblrollfont.Location.X + 1 == 0)
{
a = "左边";
break;
}
Thread.Sleep(10);
} while (1 == 1);
}
} while (1 == 1);
}
相关文章推荐
- C#中实现label中文字循环滚动
- C#中实现label文字循环滚动
- c#之通过Timer控件实现字幕(label)滚动
- 用3个label实现scrollView的循环滚动效果
- 我的实现uiscrollview循环滚动的笨办法
- C#实现判断字符是否为中文
- 安卓实现走马灯效果 textview 实现字体循环滚动效果
- C++或者C#无限循环的实现方式
- NGUI学习笔记(二):UIWrapCotent实现循环滚动(优化排行榜等效果)
- 二叉树后续遍历的非递归循环C# 实现
- C#实现的滚动网页截图功能示例
- 利用UIScrollView实现循环滚动翻页的方法
- C#实现“中文随机验证码”及原理
- 用marquee和div+js实现首尾相连循环滚动效果
- UIScrollView自动滚动 循环滚动视图实现
- iOS开发-------滚动视图(UIScrollView)并实现循环滚动
- C#实现循环顺序队列(队列)
- 在BCB中实现背景平滑循环滚动
- 用DIV+javascript实现首尾相连循环滚动效果(兼容firefox)
- Android玩转ViewPager(一) 实现循环滚动