请问winform状态栏跑马灯的效果怎么作?

怫悰 2009-04-26 08:08:56
请问winform状态栏跑马灯的效果怎么作?
一行写不下,想用跑马灯效果

没做过类似的,有个小程序,还是草草弄掉算了
...全文
638 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
hiddkiller 2009-05-27
  • 打赏
  • 举报
回复
绘制,百分比,栏长度,百分比对应坐标,循环内线程停止时间
b3727180 2009-05-27
  • 打赏
  • 举报
回复
7楼的我试过了没问题
surlew 2009-05-27
  • 打赏
  • 举报
回复
不错不错,学习了
duzhonghua 2009-05-27
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 jsntzll 的回复:]
在c#中其实滚动屏幕的实现很简单,只需要用到Graphics.DrawString方法. Graphics.DrawString (String s, Font font, Brush brush, PointF point) 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。

s 要绘制的字符串。
font 它定义字符串的文本格式。
brush 它确定所绘制文本的颜色和纹理。
point 结构,它指定所绘制文本的左上角。
其中,我们要用到的就是point函数,通过控制它的X或Y参数来控制文字的偏移…
[/Quote]

学习
闭目鱼 2009-05-27
  • 打赏
  • 举报
回复
控制你那个要跑的控件的point值..用个时间控件..
设个公共变量.,判断其值为1的时候,控件位置往左,,当值为0的时候往右
shengyongwang 2009-05-27
  • 打赏
  • 举报
回复
谢谢你的答复,这也是我正需要的。
closewbq 2009-05-27
  • 打赏
  • 举报
回复
time 加 GDI+
兔儿爷 2009-04-26
  • 打赏
  • 举报
回复
在c#中其实滚动屏幕的实现很简单,只需要用到Graphics.DrawString方法. Graphics.DrawString (String s, Font font, Brush brush, PointF point) 在指定位置并且用指定的 Brush 和 Font 对象绘制指定的文本字符串。

s 要绘制的字符串。
font 它定义字符串的文本格式。
brush 它确定所绘制文本的颜色和纹理。
point 结构,它指定所绘制文本的左上角。
其中,我们要用到的就是point函数,通过控制它的X或Y参数来控制文字的偏移量.下面以水平滚动字幕为例.

private Label label = new Label();
public string text="csdn baihe_591";

private void FrmShow_Load(object sender, EventArgs e)
{
this.label.Location = new Point(149, 13);
this.label.Size = new Size(134, 16);
this.Controls.Add (label);
this.label.Text = "";
this.timer1.Enabled = true;
this.timer1.Interval = 500;
p = new PointF(this.label.Size.Width, 0);
}

PointF p;
Font f = new Font("宋体", 10);
Color c = Color.White;
string temp;
private void timer1_Tick(object sender, EventArgs e)
{

Graphics g = this.label.CreateGraphics();
SizeF s = new SizeF();
s = g.MeasureString(text, f);//测量文字长度
Brush brush = Brushes.Black;
g.Clear(c);//清除背景

if (temp != text)//文字改变时,重新显示
{
p = new PointF(this.label.Size.Width, 0);
temp = text;
}
else
p = new PointF(p.X - 10, 0);//每次偏移10
if (p.X <= -s.Width)
p = new PointF(this.label.Size.Width, 0);
g.DrawString(text, f, brush, p);
}


欢迎访问我的博客 程序员日记 http://www.ideaext.com
PENYY 2009-04-26
  • 打赏
  • 举报
回复
用TIME控件来实现啊!
你可以家几个东东(eg: Label)绘制颜色
然后通过设置TIME来实现每个控件出现的时间,不就OK了吗?
ChrisAK 2009-04-26
  • 打赏
  • 举报
回复
在窗体Title前加空格,
过一段时间再重来一次.

如果想做成循环的感觉,
算下多少空格后把后面的字符移到前面就行了.
小人物2014 2009-04-26
  • 打赏
  • 举报
回复
杜思波告诉你就是用定时器改变坐标!
怫悰 2009-04-26
  • 打赏
  • 举报
回复
就是在状态栏里一行字从右往左移动,反复
yeaicc 2009-04-26
  • 打赏
  • 举报
回复
用图像方面的类绘制字符串
mohugomohu 2009-04-26
  • 打赏
  • 举报
回复
不知道跑马灯是什么

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧