欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#項(xiàng)目彩票選號(hào)實(shí)現(xiàn)思路

 更新時(shí)間:2024年08月10日 09:43:08   作者:郭恩碩  
今天做了一個(gè)彩票選號(hào)的小軟件,將學(xué)到的知識(shí)點(diǎn)總結(jié)一下,下面通過(guò)本文給大家分享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)文章

最新評(píng)論