WinForm timer 控件

timer 控件:按用户定义的时间间隔引发的事件

    属性: Enabled   是否启用;  Interval    事件发生的事件间隔,单位是毫秒

    事件只有一个:Tick    事件经过指定的时间间隔发生

打开一个窗口,获取同步时间(精确到秒)

 // 首先在构造函数中设置初始状态

public Form1()
        {
            InitializeComponent();
            label3.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
  //其次设置在Timer空间的Tick事件发生的时间间隔及要显示的内容

 private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Interval = 1000;//时间间隔1s
            label1.Text = DateTime.Now.ToString("yyyy年MM月dd日hh时mm分ss秒");
        }

举例:抽奖

public partial class Form1 : Form
    {
        List<long> number = new List<long>();
        public Form1()
        {
            InitializeComponent();
            number.Add(13864312345);
            number.Add(13864311111);
            number.Add(13864322222);
            number.Add(13864333333);
            number.Add(13864344444);
            number.Add(13864355555);
            number.Add(13864366666);
            number.Add(13864377777);
            number.Add(13864388888);
            number.Add(13999999999);

        }
        Random r = new Random();

        private void timer1_Tick(object sender, EventArgs e)
        {
            timer1.Interval = 100;//时间间隔0.1s
            label1.Text = number[r.Next(0, number.Count)].ToString();
        }
        //定义一个标记变量
        bool start = false;
        
        private void button1_Click(object sender, EventArgs e)
        {
            //判断当前是开始还是结束
            if (start)//结束抽奖
            {
                button1.Text = "开始";
                start = false;
                timer1.Enabled = false;//启用控件
                //label1.Text = "15689311089";//作弊,设置此号肯定中奖
            }
            else//开启抽奖
            {
                button1.Text = "停止";
                start = true;
                timer1.Enabled = true;//禁用控件
            }
        }
}
View Code
原文地址:https://www.cnblogs.com/liuqifeng/p/9148918.html