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();
}
}
}