基于C#設(shè)計一個雙色球選號工具
更新時間:2022年04月04日 09:19:31 作者:THIM
這篇文章主要為大家詳細(xì)介紹了如何利用C#設(shè)計實現(xiàn)一個雙色球選號工具,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
窗體展示

開始后展示

結(jié)束搖色展示

代碼
導(dǎo)入的命名空間
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 = "已經(jīng)開始";
? ? ? ? ? ? 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());
? ? ? ? }數(shù)字更新
private void Update(Label label , string text)
{
this.Invoke(new Action(() =>
{
label.Text = text;
}));
}
結(jié)束按鈕
private void button2_Click(object sender, EventArgs e)
{
button1.Text = "開始";
button1.Enabled = true;
button2.Enabled = false;
begin = false;
}
結(jié)果顯示
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#設(shè)計一個雙色球選號工具的詳細(xì)內(nèi)容,更多關(guān)于C#雙色球的資料請關(guān)注腳本之家其它相關(guān)文章!
您可能感興趣的文章:
相關(guān)文章
c# 使用模式匹配以及 is 和 as 運算符安全地進(jìn)行強(qiáng)制轉(zhuǎn)換
這篇文章主要介紹了c# 使用模式匹配以及 is 和 as 運算符安全地進(jìn)行強(qiáng)制轉(zhuǎn)換,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-10-10
C#實現(xiàn)集合轉(zhuǎn)換成json格式數(shù)據(jù)的方法
這篇文章主要介紹了C#實現(xiàn)集合轉(zhuǎn)換成json格式數(shù)據(jù)的方法,涉及C#針對dataTable、Enumerable及Json格式數(shù)據(jù)的遍歷及轉(zhuǎn)換操作相關(guān)技巧,需要的朋友可以參考下2016-07-07
C#實現(xiàn) Server-sent Events的步驟
這篇文章主要介紹了C#實現(xiàn) Server-sent Events的步驟,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01
C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘二
上文對數(shù)據(jù)結(jié)構(gòu)與算法,有了一個簡單的概述與介紹,這篇文章,我們介紹一中典型數(shù)據(jù)結(jié)構(gòu)——線性結(jié)構(gòu)2012-10-10

