C#体育彩票选号器案例

案例分析:

对象:选号器

属性:1、随机数   2、选号器集合(String数组的泛型集合) 要在LIstView中展示

方法:1、单组选号:随机生成7个随机数  2、随机单组:根据输入的组数,生成相应组数的选号数组 3、显示:要在ListView中展示彩票选号。形式:第一组:1 2 3 4 5 6 7 第二组:...

 

步骤:

第一步:创建窗体应用程序,设计上面的窗体界面。ListView控件

第二步:添加选号器实体类

第三步:窗体中实现窗体按钮功能

 

代码如下:

彩票选号器实体类:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace LotteryPro.Models
{
    /// <summary>
    /// 选号器实体
    /// </summary>
   public  class Selector
    {
        /// <summary>
        /// 选号器属性,多组选号数据集合
        /// </summary>
        public List<String[]> SelectorList { get; set; }

        /// <summary>
        /// 随机数字段
        /// </summary>
        private Random random;
        /// <summary>
        /// 构造方法,初始化
        /// </summary>
        public Selector()
        {
            this.SelectorList = new List<string[]>();
            this.random = new Random();
        }

        /// <summary>
        /// 生成7个随机数
        /// </summary>
        public String[] CreateNum()
        {
            String[] numArray = new string[7];
            for(int i = 0; i < 7; i++)
            {
                numArray[i] = random.Next(10).ToString();
            }
            return numArray;
        }
        /// <summary>
        /// 生成指定组随机数
        /// </summary>
        public void CreateGroup(int count)
        {
            SelectorList.Clear();
            for(int i=0;i< count; i++)
            {
                SelectorList.Add(CreateNum());
            }
        
        }
    /// <summary>
    /// 显示所有随机数
    /// </summary>
    /// <returns></returns>
        public List<string> ShowNum()
        {
            List<string > numList = new List<string>();
            for(int i = 0; i < SelectorList.Count; i++)
            {
                string showNum = string.Empty;
                if (i < 9)
                {
                    showNum = "第0"+(i+1)+"组:";
                }
                else
                {
                    showNum = "第" + (i+1) + "组:";
                }
                foreach(string num in SelectorList[i])
                {
                    showNum += num + " ";
                }
                numList.Add(showNum);
            }
            return numList;
        }
    }
}
Form窗体程序

using LotteryPro.Models;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.Runtime.InteropServices;
namespace LotteryPro
{
    public partial class FrmLottery : Form
    {
        public FrmLottery()
        {
            InitializeComponent();
        }
        Selector selector = new Selector();
        private void btnStartSelector_Click(object sender, EventArgs e)
        {
            timer1.Start();//调用定时器组件
        }
      /// <summary>
      /// 定时器组件将随机生成的7个彩票号码放到文本框中
      /// </summary>
      /// <param name="sender"></param>
      /// <param name="e"></param>
        private void timer1_Tick(object sender, EventArgs e)
        {
            this.textBox1.Text=selector.CreateNum()[0];
            this.textBox2.Text = selector.CreateNum()[1];
            this.textBox3.Text = selector.CreateNum()[2];
            this.textBox4.Text = selector.CreateNum()[3];
            this.textBox5.Text = selector.CreateNum()[4];
            this.textBox6.Text = selector.CreateNum()[5];
            this.textBox7.Text = selector.CreateNum()[6];
        }
        /// <summary>
        /// 单组选号:ListView中展示随机数组
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEndSelector_Click(object sender, EventArgs e)
        {
            timer1.Stop();//关闭定时器
            string[] selectorArray = new string[7];//创建一个String数组存储随机数
            //将文本框中的值附加到String数组中
            selectorArray[0] = textBox1.Text;
            selectorArray[1] = textBox2.Text;
            selectorArray[2] = textBox3.Text;
            selectorArray[3] = textBox4.Text;
            selectorArray[4] = textBox5.Text;
            selectorArray[5] = textBox6.Text;
            selectorArray[6] = textBox7.Text;
            selector.SelectorList.Add(selectorArray);//将String数组添加到选号器的数组集合属性中
            this.listView.Items.Clear();
            //将数组添加到ListView中
            List<string> list = this.selector.ShowNum();
           for (int i = 0; i < list.Count; i++)
            {
                this.listView.Items.Add(list[i]);
            }
        
        }

        private void listView_SelectedIndexChanged(object sender, EventArgs e)
        {

        }
        /// <summary>
        /// 随机组选,ListView展示多组彩票号码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnRandomSelector_Click(object sender, EventArgs e)
        {
            selector.CreateGroup(Convert.ToInt32(this.txtCount.Text));//生成随机组选号码
            this.listView.Items.Clear();
            List<string> list = this.selector.ShowNum();
            for (int i = 0; i < list.Count; i++)
            {
                this.listView.Items.Add(list[i]);
            }
        }

        private void FrmLottery_Load(object sender, EventArgs e)
        {

        }
        /// <summary>
        /// ListView中删除选中的号码
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnDel_Click(object sender, EventArgs e)
        {
            if (this.listView.SelectedItems.Count == 0)
            {
                MessageBox.Show("请选择要删除的项");
            }
            listView.Items.RemoveAt(listView.SelectedItems[0].Index);//根据索引移除
            listView.SelectedItems.Clear();//清空ListView选中的项
        }
        /// <summary>
        /// 清空ListView中所有的项
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnClear_Click(object sender, EventArgs e)
        {
            listView.Items.Clear();
        }
    }
}

 

posted @ 2018-04-14 17:18  CG_Technology  阅读(1133)  评论(0编辑  收藏  举报