基于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 運算符安全地進行強制轉(zhuǎn)換
這篇文章主要介紹了c# 使用模式匹配以及 is 和 as 運算符安全地進行強制轉(zhuǎn)換,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2020-10-10C#實現(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-07C#實現(xiàn) Server-sent Events的步驟
這篇文章主要介紹了C#實現(xiàn) Server-sent Events的步驟,幫助大家更好的理解和使用c#,感興趣的朋友可以了解下2021-01-01C#數(shù)據(jù)結(jié)構(gòu)與算法揭秘二
上文對數(shù)據(jù)結(jié)構(gòu)與算法,有了一個簡單的概述與介紹,這篇文章,我們介紹一中典型數(shù)據(jù)結(jié)構(gòu)——線性結(jié)構(gòu)2012-10-10