利用多线程写一个摇奖机小程序

 1 using System;
 2 using System.Collections.Generic;
 3 using System.ComponentModel;
 4 using System.Data;
 5 using System.Drawing;
 6 using System.Linq;
 7 using System.Text;
 8 using System.Threading;
 9 using System.Threading.Tasks;
10 using System.Windows.Forms;
11 
12 namespace yaojiangji
13 {
14     public partial class Form1 : Form
15     {
16         private List<Label> lbList = new List<Label>();
17         private bool isRunning = false;
18         public Form1()
19         {
20             InitializeComponent();
21         }
22 
23         private void Form1_Load(object sender, EventArgs e)
24         {
25             for (int i = 0; i <6; i++)
26             {
27                 Label lb = new Label();
28                 lb.Text = "0";
29                 lb.AutoSize = true;
30                 lb.Location = new Point(60*i+60,100);
31                 this.Controls.Add(lb);
32                 lbList.Add(lb);
33                 
34             }
35 
36         }
37 
38         private void btnStartOrStop_Click(object sender, EventArgs e)
39         {
40             if (isRunning == false)
41             {
42                 isRunning = true;
43                 btnStartOrStop.Text = "停止";
44                 Thread thread = new Thread(() =>
45                 {
46                     Random r = new Random();
47                     while (isRunning)
48                     {
49                         foreach (var item in lbList)
50                         {
51                             string str = r.Next(0, 10).ToString();
52                             if (item.InvokeRequired)
53                             {
54                                 item.Invoke(new Action<string>(s => { item.Text = s; }), str);
55                             }
56                             else
57                             {
58                                 item.Text = str;
59                             }
60 
61                         }
62                         Thread.Sleep(50);
63 
64                     }
65 
66                 });
67                 thread.IsBackground = true;
68                 thread.Start();
69             }
70             else
71             {
72                 isRunning = false;
73                 btnStartOrStop.Text = "开始";
74 
75             }
76         }
77     }
78 }

 

转载于:https://www.cnblogs.com/laresh/p/5021715.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值