指示灯控件

 

 

 

using System;
using System.Drawing;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 指示灯
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }


        Task task;
        CancellationTokenSource tokenSource = new CancellationTokenSource();

        private void button1_Click(object sender, EventArgs e)
        {
            label1.Visible = true;
            label1.Text = "";//如果觉得太小调label1字体大小
            
            if (task == null || task.IsCompleted)
            {
                task = new Task(new Action(run),tokenSource.Token);
                task.Start();
            }
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            tokenSource.Cancel();
            label1.Visible = false;
        }

        private void run()
        {
            while (true)
            {
                if (label1.ForeColor == Color.Red)
                {
                    label1.ForeColor = Color.Green;
                }
                else
                {
                    label1.ForeColor = Color.Red;
                }
                Thread.Sleep(300);
            }
        }
    }
}

 

posted on 2022-06-20 23:56  hanzq_go  阅读(88)  评论(0编辑  收藏  举报

导航