WinForms多线程编程之摇奖程序

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

 

 

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/447942.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

idea 版本控制忽略文件、文件夹设置

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 setting 中&#xff1a; 或者底部的 设置 忽略某个文件 后面选择框可以去选择 忽略某个文件夹 后面选择框可以去选择 忽略某种文件 后面…

Windows Azure HandBook (1) IaaS相关技术

《Windows Azure Platform 系列文章目录》 1.Microsoft Azure底层是否由System Center和Hyper-V构成? Microsoft Azure虽然支持Hyper-V的VHD直接上传至Azure云端进行管理&#xff0c;但是Azure底层技术是微软自己研发的、独有的技术&#xff0c;且不对外提供。如果客户想构建属…

OpenCL 第8课:旋转变换(2)

上两节课都是对一个数组进行处理。这节我们来个有意思的。同样是旋转。但我们旋转的对象是张&#xff08;&#xff12;&#xff15;&#xff16;*&#xff12;&#xff15;&#xff16;&#xff09;的图片。图片旋转&#xff14;&#xff15;度&#xff0c;旋转后大小还是&…

VUE: 当前页面 引用自定义公用样式 (:style=“样式名“)

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 在当前页面&#xff0c;自行定义了几个样式&#xff0c;在不同地方引用。 2. 实现代码。 样式定义&#xff1a; data() {return {i…

免费的api接口

欢迎大家加群讨论&#xff1a;地址&#xff1a;https://www.apiopen.top 为了方便各类开发者&#xff0c;现提供免费开放Api接口&#xff0c;所有接口均无使用限制&#xff0c;返回格式全是JSON&#xff0c;所以基本能满足大家的开发需求&#xff0c;但请各位不要将这些Api接入…

养成这8个好习惯 开车会很安全的

第一&#xff0c;过路口时减速左右看——要养成过口子时&#xff0c;不管有没有红绿灯&#xff0c;也不管自己的行道是绿灯&#xff0c;都要左顾右盼&#xff08;同时要减速&#xff09;的习惯&#xff0c;观察在横道上的车辆情况&#xff0c;确认没有车横冲&#xff0c;才加速…

css background-attachment:fixed 固定背景、不随内容一起滚动

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 兼容性&#xff1a;全兼容&#xff0c;只不过IE滚动时会有一点不流畅。 background-attachment 有 3 个选项&#xff1a;scroll / fix…

Javacript和AngularJS中的Promises

promise是Javascript异步编程很好的解决方案。对于一个异步方法&#xff0c;执行一个回调函数。比如页面调用google地图的api时就使用到了promise。 function success(position){var cords position.coords;console.log(coords.latitude coords.longitude); }function error(…

男人沉默的真实原因

英国社会学家马克经过调查发现&#xff1a;男人每天的说话量&#xff0c;是女人的一半。但男人们也大多用于朋友圈中、工作中&#xff0c;而与爱人的聊天交流&#xff0c;每天可能不足15分钟&#xff0c;用词量不超过10%。 其实&#xff0c;男人有很多缄默的方法&#xff0c;每…

Visual Studio 使用说明文档、VScode 使用手册

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我只是记录下地址&#xff0c;方便自已以后查看&#xff1a; Visual Studio 使用文档 内容如&#xff1a;

JAVA File的创建及相对路径绝对路径

JAVA File的创建及相对路径绝对路径 转载自 http://blog.sina.com.cn/s/blog_9386f17b0100w2vv.htmlFile f new File("D:/test/mytest.txt");//当执行这句话后在内存的栈空间存在一个f的应用&#xff0c;在堆空间里存在一个mytest.txt对象。注意 这个对象只含有文件…

肾有多好人就有多年轻 男女通用的补肾秘方

每天都坚持喝一碗&#xff0c;现在已经连续喝了三个多星期了&#xff0c;以前有好些白发的地方居然没有复发&#xff0c;而且现在一根也没有啊&#xff0c;我真的很开心。不仅白头发不见了&#xff0c;而且皮肤变白皙和光滑了好多&#xff0c;气色也比原来好了!好东西要大家分享…

Object.keys() Object.values()

Object.keys() //返回对象中各个键值对的键(key) Object.values() //返回对象中各个键值对的值(value) var obj { foo: "bar", baz: 42 };Object.keys(obj) // ["foo", "baz"]Object.values(obj) // ["ba…

vue 解决: *!!vue-style-loader!css-loader?{“sourceMap“:true}!../../../../vue-loader

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 问题描述 *!!vue-style-loader!css-loader?{“sourceMap”:true}!../../../../vue-loader/lib/style-compiler/index?{“vue”:true,…

计算机专业 程序员技术练级攻略(转载)

程序员技术练级攻略转载自: https://coolshell.cn/articles/4990.html 前言 你是否觉得自己从学校毕业的时候只做过小玩具一样的程序&#xff1f;走入职场后哪怕没有什么经验也可以把以下这些课外练习走一遍&#xff08;朋友的抱怨&#xff1a;学校课程总是从理论出发&#xff…

35 岁之前不应该错过的 30 本书

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 PS&#xff1a;在这个书目中&#xff0c;我不偏好的书会直接放到最后&#xff0c;所以不是按原文顺序来。 1、《目送》 作者&#xff1a…

生活中意想不到的妙招

1、抹布变白 抹布是咱们家中最常见的东西&#xff0c;干家务绝对离不开它&#xff0c;擦桌椅板凳&#xff0c;擦灶台&#xff0c;油烟机&#xff0c;浴室&#xff0c;电器等等&#xff0c;家里总需要准备很多抹布&#xff0c;最难清理的恐怕就是厨房的抹布了吧?因为总是和油污…

“ 紫手环的力量 ” :我想,美好的生活应该是自已造就的...

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 我想或许我可以试试这个方法&#xff1a; 其实 我是真的打算试试&#xff0c;最近总是会忧虑&#xff0c;或许我应该自已努力给自已造就…

通过界面生成时不存在的数据刷新界面引起的卡顿问题

今天遇到了一个问题&#xff0c;就是有一个界面&#xff0c;在生成时之前请求数据&#xff0c;在界面中通过schedule 与unschedule不停查看本地是否收到此数据&#xff08;通过发起request的Id&#xff09;&#xff0c;当收到之后刷新。 然后就引起了一个问题。界面弹出是有动画…

解决 VUE:[WDS] Errors while compiling. Reload prevented...- invalid expression: Unexpected token -- in

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 在网上找了个组件&#xff0c;直接把代码放入自已的项目中报错&#xff0c;提示信息如黑框中&#xff1a; 2. 此组件原码就是这样用的…