博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
WinForms多线程编程之摇奖程序
阅读量:5047 次
发布时间:2019-06-12

本文共 1438 字,大约阅读时间需要 4 分钟。

利用多线程模拟一个电脑摇奖程序,如图所示。在点击【滚动号码】,启动线程,对后台的电话号码进行循环显示;点击【开奖】按钮,关闭线程,此时显示在文本框中的电话号码即为中奖号码

 

 

using System;

using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;
namespace Ex02_Lottery
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        //定义一个泛型
        List<string> liNum = new List<string>();

        //定义一个全局变量

        Thread thread;

        private void btnRoll_Click(object sender, EventArgs e)

        {
            //定义一个线程
            thread =  new Thread(new ThreadStart(Num));

            //开启线程

            thread.Start();

            btnRoll.Enabled = false;

        }

        public void Num()
        {
            int i = 0;
           
            liNum.Add("13965113141");
            liNum.Add("18676768761");
            liNum.Add("13456468141");
            liNum.Add("15456564541");
            liNum.Add("13965113141");
            liNum.Add("13968766141");
            liNum.Add("13965113141");
            liNum.Add("13123113311");

            //循环

            while (i < liNum.Count + 1)
            {
                if (i >= liNum.Count) i = 0;

                txtNum.Text = liNum[i].ToString();

                i++;

            }

        }

        private void Form1_Load(object sender, EventArgs e)

        {
            txtNum.Enabled = false;
            //线程间操作无效: 从不是创建控件“ btnRoll”的线程访问它。解决方法
            Form1.CheckForIllegalCrossThreadCalls = false;
        }

        private void btnLottery_Click(object sender, EventArgs e)

        {
            //挂想线程
            thread.Suspend();

            //恢复线程

            thread.Resume();

            //关闭线程

            thread.Abort();

            btnLottery.Enabled = false;

            MessageBox.Show("号码为:" + txtNum.Text + "恭喜你中奖了","信息提示");

        }
    }
}

 

转载于:https://www.cnblogs.com/LeeYongze/archive/2009/11/10/1600104.html

你可能感兴趣的文章
SQL2005安装图解
查看>>
C++的优秀特性4:指针
查看>>
grid调整宽度自动保存,下次启动保持原来的宽带
查看>>
如何写出高性能SQL语句
查看>>
webpack+react搭建环境
查看>>
图片提示效果
查看>>
一个意外的发现
查看>>
配置Mysql Group Replication遇到的问题笔记
查看>>
BZOJ1232: [Usaco2008Nov]安慰奶牛cheer(最小生成树)
查看>>
Visual Studio 2012 如何打开MVC1.0 MVC2.0的项目
查看>>
Linux-dd命令详解
查看>>
Zookeeper协调服务系统·ELK日志管理系统简介
查看>>
大数据小项目之电视收视率企业项目08--》MapReduce编写之Wordcount
查看>>
python基础笔记-0
查看>>
[转]40个实习生最基本的规矩
查看>>
Java网络编程
查看>>
如何结构化地搜集销售数据?
查看>>
Kakfa的设计思想
查看>>
Pycharm 2017 激活码
查看>>
JS 数组乱序
查看>>