C#項(xiàng)目彩票選號(hào)實(shí)現(xiàn)思路
C#彩票選號(hào)軟件
今天做了一個(gè)彩票選號(hào)的小軟件,將學(xué)到的知識(shí)點(diǎn)總結(jié)如下;
1.寫程序的思路
- 實(shí)體類(屬性、方法)
- 主程序調(diào)用類方法
2.學(xué)到的知識(shí)點(diǎn)
- 判斷、循環(huán)
- 文件的操作(保存、打開(kāi))
- 集合、數(shù)組(增加-AddRange、刪除-RemoveAt、排序-Reverse)
- 關(guān)鍵字:Random(隨機(jī)數(shù)-Next)
- 定時(shí)器的應(yīng)用(啟動(dòng)、停止、實(shí)時(shí)刷新)
3.經(jīng)驗(yàn)技巧
- 開(kāi)發(fā)控件的屬性可以查看界面后的designer中的控件缺省代碼并修改應(yīng)用
4.UI界面
5.代碼實(shí)現(xiàn)
【實(shí)體類】
- 功能一:定義一個(gè)保存選號(hào)的成員并【創(chuàng)建對(duì)象】
//屬性-臨時(shí)號(hào)碼(用于存儲(chǔ)隨機(jī)號(hào)及數(shù)組的) public List<string[]> selectNum { get; set; } private Random randomNum = new Random(); //構(gòu)造方法-創(chuàng)建臨時(shí)號(hào)碼對(duì)象 public Selector() { this.selectNum = new List<string[]>(); }
- 功能二:生成7個(gè)隨機(jī)數(shù)【數(shù)組】并將數(shù)組返回
//實(shí)例方法-隨機(jī)選7個(gè)號(hào) public string[] selectNumArray() { string[] ranNum7 = new string[7]; for (int i = 0; i < 7; i++) { ranNum7[i] = this.randomNum.Next(10).ToString(); } return ranNum7; }
- 功能三:生成n組隨機(jī)數(shù)組無(wú)需返回【帶參數(shù)】
//實(shí)例方法-隨機(jī)選n組號(hào) public void selectNumGroup(int groupNum) { for (int i = 0; i < groupNum; i++) { selectNum.Add(selectNumArray()); } }
- 功能四:【遍歷】成員變量生成號(hào)碼表
//實(shí)例方法-號(hào)碼列表 public List<string> listNum() { List<string> listData = new List<string>(); string listName; for (int i = 0; i < this.selectNum.Count; i++) { if (i < 9) { listName = "第0" + (i + 1) + "組: "; } else {listName = "第" + (i + 1) + "組: ";} for (int j = 0; j < this.selectNum[i].Length; j++) { if (j == 5) { listName += selectNum[i][j] + " "; } else {listName += selectNum[i][j] + " ";} } listData.Add(listName); //重點(diǎn) } listData.Reverse(); //重點(diǎn) return listData; }
【主函數(shù)】
- Step01:【初始化】
//初始化 public FrmMain() { InitializeComponent(); this.timer_sleep.Stop(); this.btn_randomGro.Enabled = true; this.btn_confirm.Enabled = true; this.btn_random.Enabled = true; this.btn_clear.Enabled = false; this.btn_dele.Enabled = false; this.timer1.Start(); }
- Step02:【創(chuàng)建類對(duì)象】
//創(chuàng)建類對(duì)象 private Selector objSelector = new Selector();
- Step03:【添加列表-AddRange】調(diào)用實(shí)體類<遍歷成員而生成的列表>
//實(shí)例方法-列表顯示 public void showList() { this.list_num.Items.Clear(); //先清空列表,再添加 this.list_num.Items.AddRange(this.objSelector.listNum().ToArray()); //重點(diǎn) }
- Step04:【缺省類】關(guān)閉、最小化、窗口拖拽
//關(guān)閉 private void btnClose_Click(object sender, EventArgs e) { this.Close(); } //最小化 private void btnMin_Click(object sender, EventArgs e) { this.WindowState = FormWindowState.Minimized; }
窗口拖拽
- Step05:【隨機(jī)選號(hào)】讓標(biāo)簽數(shù)字滾動(dòng),開(kāi)始定時(shí)器即可(使能按鈕)
//隨機(jī)選號(hào) private void btn_random_Click(object sender, EventArgs e) { this.timer_sleep.Start(); this.btn_random.Enabled = false; this.btn_confirm.Enabled = true; }
- Step06:【確認(rèn)選號(hào)】停止?jié)L動(dòng)、并保存當(dāng)前數(shù)字到成員變量、并顯示列表
//確認(rèn)選號(hào) private void btn_confirm_Click(object sender, EventArgs e) { this.timer_sleep.Stop(); string[] txtNums ={ lblNum1.Text, lblNum2.Text, lblNum3.Text, lblNum4.Text, lblNum5.Text, lblNum6.Text, lblNum7.Text }; //難點(diǎn) this.objSelector.selectNum.Add(txtNums); showList(); this.btn_confirm.Enabled = false; this.btn_random.Enabled = true;
- Step07:【隨機(jī)組選】將組數(shù)傳遞到參數(shù)方法、顯示列表
//隨機(jī)組選 private void btn_randomGro_Click(object sender, EventArgs e) { this.objSelector.selectNumGroup(Convert.ToInt16(this.lblNumGro.Text)); showList(); this.btn_clear.Enabled = true; this.btn_dele.Enabled = true; }
- Step08:【清除、清空】獲取選中的索引,調(diào)用集合項(xiàng)的【RemoveAt】;【Clear】
//刪除 private void brn_dele_Click(object sender, EventArgs e) { this.objSelector.selectNum.RemoveAt(this.list_num.SelectedIndex); //重點(diǎn) showList(); } //清空 private void btn_clear_Click(object sender, EventArgs e) { this.list_num.Items.Clear(); this.objSelector.selectNum.Clear(); //重點(diǎn) btn_clear.Enabled = false; btn_dele.Enabled = false; }
- Step09:【擴(kuò)展】文件的打開(kāi)保存、實(shí)時(shí)刷新
#region 【擴(kuò)展】文件的打開(kāi)保存、定時(shí)器實(shí)時(shí)刷新 //保存到文件 private void btnSave_Click(object sender, EventArgs e) { FileStream fs = new FileStream("NumList.Txt", FileMode.Create); //重點(diǎn) StreamWriter sw = new StreamWriter(fs); for (int i = 0; i < this.list_num.Items.Count; i++) { sw.WriteLine(this.list_num.Items[i]); } sw.Close(); fs.Close(); MessageBox.Show("保存成功", "提示您", MessageBoxButtons.OK, MessageBoxIcon.Warning); } //打開(kāi)文件夾 private void btnsaveOpen_Click(object sender, EventArgs e) { System.Diagnostics.Process.Start("Explorer.exe", "J:\\自學(xué)視頻\\1C#\\喜科堂 郭哥推薦\\練習(xí)第二遍\\彩票選號(hào)軟件\\bin\\Debug\\NumList.Txt"); } //定時(shí)器實(shí)時(shí)監(jiān)測(cè)數(shù)值-初始化開(kāi)始定時(shí)器timer1 private void timer1_Tick(object sender, EventArgs e) { if (this.list_num.Items.Count == 0 || this.list_num.SelectedItem == null) { this.btn_dele.Enabled = false; } else { this.btn_dele.Enabled = true; } } #endregion
程序開(kāi)發(fā)邏輯圖如下所示:
到此這篇關(guān)于C#項(xiàng)目彩票選號(hào)實(shí)現(xiàn)思路的文章就介紹到這了,更多相關(guān)C#彩票選號(hào)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
C#對(duì)Windows服務(wù)組的啟動(dòng)與停止操作
這篇文章主要為大家詳細(xì)介紹了C#對(duì)Windows服務(wù)組的啟動(dòng)與停止操作,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-03-03C#創(chuàng)建安全的棧(Stack)存儲(chǔ)結(jié)構(gòu)
這篇文章主要為大家詳細(xì)介紹了C#創(chuàng)建安全的棧(Stack)存儲(chǔ)結(jié)構(gòu)的方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-10-10C#調(diào)用halcon實(shí)現(xiàn)使用鼠標(biāo)滾輪對(duì)圖片進(jìn)行縮放顯示
這篇文章主要為大家詳細(xì)介紹了C#如何調(diào)用halcon實(shí)現(xiàn)使用鼠標(biāo)滾輪對(duì)圖片進(jìn)行縮放顯示,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-03-03Unity使用物理引擎實(shí)現(xiàn)多旋翼無(wú)人機(jī)的模擬飛行
這篇文章主要介紹了Unity使用物理引擎實(shí)現(xiàn)多旋翼無(wú)人機(jī)的模擬飛行,包括了詳細(xì)的原理介紹和代碼實(shí)現(xiàn),對(duì)物理引擎感興趣的同學(xué),可以參考下2021-04-04C# 添加、修改以及刪除Excel迷你圖表的實(shí)現(xiàn)方法
下面小編就為大家分享一篇C# 添加、修改以及刪除Excel迷你圖表的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-12-12