在C# winform窗体中怎么实现 无缝走马灯 效果啊 急用!!
在C# winform窗体中怎么实现 无缝走马灯 效果啊
请大家帮帮忙! 谢谢!
[解决办法]
这是我在另外一个帖子发的代码,原理大致相同,不妨试试:
- C# code
// RainDrops.cs// compile with: csc /t:winexe RainDrops.csusing System;using System.Drawing;using System.Windows.Forms;public class Form1 : Form{ Bitmap rainDrops; Timer timer = new Timer(); int top = 0; public Form1() { this.Size = new Size(300, 300); Rectangle rect = this.ClientRectangle; rainDrops = new Bitmap(rect.Width, rect.Height * 2); using (Graphics g = Graphics.FromImage(rainDrops)) { g.Clear(Color.LightBlue); Random random = new Random(); for (int i = 0; i < 1000; i++) { int x = random.Next() % rect.Width; int y = random.Next() % rect.Height; int dot = random.Next() % 5; g.FillEllipse(Brushes.White, x, y, dot, dot); g.FillEllipse(Brushes.White, x, y+rect.Height, dot, dot); } } timer.Interval = 200; timer.Enabled = true; timer.Tick += delegate { Invalidate(); }; } protected override void OnPaint(PaintEventArgs e) { int height = this.ClientRectangle.Height; top += 10; if (top > height) top = 0; e.Graphics.DrawImageUnscaled(rainDrops, 0, top - height); } protected override void OnPaintBackground(PaintEventArgs e) { } static void Main() { Application.Run(new Form1()); }}