题目:编写程序实现:文字会从右到左循环不停的移动,并且颜色在随机变换。【制作滚动字幕】
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace 弹幕1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
label1.Text = "这是一个五颜六色的弹幕";
}
private void button1_Click(object sender, EventArgs e)
{
timer1.Enabled = true;//enabled 属性判断该时钟是否启用
//true 开启
label1.Left = this.Width;
}
private void timer1_Tick(object sender, EventArgs e)//计时器改变一次,触发一次该方法
{
Random rand = new Random();
int r = rand.Next(0, 255);
int g = rand.Next(0, 255);
int b = rand.Next(0, 255);
label1.ForeColor = Color.FromArgb(r, g, b);
if (label1.Right > 0)//.right 表示控件右边缘与容器工作区左边缘的距离
label1.Left = label1.Left - 2;
else
label1.Left = this.Width;//this代指当前窗体 this.Width表示当前窗体的宽度
}
private void button2_Click(object sender, EventArgs e)
{
timer1.Enabled = false;//false 停止
}
}
}
重难点:
1、timer控件:
计时器控件,表示对一定时间的推移是否发生响应
相关事件:
(1)tick事件,表示设定的时间间隔后自动触发的事件。
(2)enabled 属性设置该计时器是否可用,true可用,false不可用
让计时器停止工作的方法:
1、timer1.enabled=false;
2、timer1.stop();
2、随机数函数
Random 随机数生成器
Random是一个类,所以在调用前要先new创建实例对象,在对象.Next(i,j);生成随机数(i,j)表示随机数生成范围
【实例】:
Random rand = new Random();
int r = rand.Next(0, 255);//生成0-255的随机数
3、Color.FromArgb(r, g, b)方法设置颜色