基于C#设计一个双色球选号工具

 更新时间:2022年04月04日 09:19:31   作者:THIM  
这篇文章主要为大家详细介绍了如何利用C#设计实现一个双色球选号工具,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

窗体展示

开始后展示

结束摇色展示

代码

导入的命名空间

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

初始化私有变量

private string[] red = { "01","02","03","04","05","06",
        "07","08","09","10","11","12","13","14","15","16","17"};
        private string[] blue = {"01","02","03","04","05","06",
        "07","08","09","10" };
        private bool begin = true;

页面初始化

private void Form1_Load(object sender, EventArgs e)
        {
            
            foreach(var item in groupBox1.Controls)
            {
                if(item is Label)
                {
                    ((Label)item).Text = "00";
                 
                }
            }
            button2.Enabled = false;

        }

开始按钮

private void button1_Click(object sender, EventArgs e)
        {
            button1.Text = "已经开始";
            button1.Enabled = false;
            button2.Enabled = true;
            begin = true;

            TaskFactory f = new TaskFactory();
            List<Task> list = new List<Task>();
            foreach(var item in groupBox1.Controls)
            {
                if(item is Label)
                {
                    ((Label)item).Text = "00";
                }
            }
            foreach( var item in groupBox1.Controls)
            {
                if(item is Label)
                {
                    Label lbl = item as Label;
                    list.Add(f.StartNew(() =>
                    {
                        Random r = new Random();
                        while (begin)
                        {
                            string txt = "";
                            if (lbl.Name.Contains("Red"))
                            {
                                lock (obj)
                                {
                                    
                                    txt = red[r.Next(0, 17)];
                                    Update(lbl, txt);
                                    
                                }
                            }
                            else
                            {
                                txt = blue[r.Next(0, 10)];
                                Update(lbl, txt);
                            }
                            Thread.Sleep(10);
                        }
                    }));
                }
            }
            f.ContinueWhenAll(list.ToArray(), tList => this.ShowResult());
        }

数字更新

private void Update(Label label , string text)
        {
            this.Invoke(new Action(() =>
            {
                label.Text = text;
            }));
        }

结束按钮

private void button2_Click(object sender, EventArgs e)
        {
            button1.Text = "开始";
            button1.Enabled = true;
            button2.Enabled = false;
            begin = false;
        }

结果显示

private void ShowResult()
        {
            StringBuilder s = new StringBuilder();
            s.Append(lblRed1.Text + " ");
            s.Append(lblRed2.Text + " ");
            s.Append(lblRed3.Text + " ");
            s.Append(lblRed4.Text + " ");
            s.Append(lblRed5.Text + " ");
            s.Append(lblRed6.Text + " \n");
            s.Append($"blueBob: {lblBlue.Text}");
            MessageBox.Show(s.ToString());
        }

以上就是基于C#设计一个双色球选号工具的详细内容,更多关于C#双色球的资料请关注脚本之家其它相关文章!

您可能感兴趣的文章:

相关文章

  • C#关键字Check简单介绍

    C#关键字Check简单介绍

    这篇文章主要介绍了C#关键字Check功能描述及注意事项,checke关键字主要用于对整型类型算术运算和转换显式启用溢出检查,本文通过程序演示给大家详细介绍,需要的朋友一起看看吧
    2022-04-04
  • C#连接ClickHouse数据库的步骤指南

    C#连接ClickHouse数据库的步骤指南

    在 C# 中连接 ClickHouse 数据库,您可以使用 ClickHouse.Client 库,这个库提供了对 ClickHouse 数据库的高效访问,以下是详细的步骤指南,帮助您在 C# 项目中连接和操作 ClickHouse 数据库,需要的朋友可以参考下
    2024-12-12
  • C#数据结构与算法揭秘二

    C#数据结构与算法揭秘二

    上文对数据结构与算法,有了一个简单的概述与介绍,这篇文章,我们介绍一中典型数据结构——线性结构
    2012-10-10
  • C#结合html2canvas切割图片并导出到PDF

    C#结合html2canvas切割图片并导出到PDF

    html2canvas 是一个 JavaScript 库,它可以把任意一个网页中的元素绘制到指定的 canvas 中,本文将结合html2canvas进行切割图片并导出到PDF,感兴趣的可以了解下
    2025-02-02
  • 自定义实现Json字符串向C#对象转变的方法

    自定义实现Json字符串向C#对象转变的方法

    自定义实现Json字符串向C#对象转变的方法,需要的朋友可以参考一下
    2013-03-03
  • C#并行编程之Task同步机制

    C#并行编程之Task同步机制

    这篇文章介绍了C#并行编程之Task同步机制,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-05-05
  • C#中的Explicit和Implicit详情

    C#中的Explicit和Implicit详情

    Implicit提高了代码的可读性,但程序员需要自己保证转换不引发异常且不丢失信息、Explicit可阻止编译器静默调用可能产生意外后果的转换操作。前者更易于使用,后者能向阅读代码的每个人清楚地指示您要转换类型,下面就和小编来一起学习吧
    2021-09-09
  • c# 正则指引--字符组

    c# 正则指引--字符组

    c#中通过正则来判断数字字符在同一个位子可能出现的各种字符,需要的朋友可以参考下
    2012-10-10
  • 使用快捷键在Unity中快速锁定和解锁Inspector右上角的锁功能

    使用快捷键在Unity中快速锁定和解锁Inspector右上角的锁功能

    这篇文章主要为大家介绍了使用快捷键在Unity中快速锁定和解锁Inspector右上角的锁功能详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • C#计算程序执行过程花费时间的方法

    C#计算程序执行过程花费时间的方法

    这篇文章主要介绍了C#计算程序执行过程花费时间的方法,涉及C#简单的时间运算技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-09-09

最新评论