📄 frmview.cs
字号:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace cpzh
{
public partial class frmView : Form
{
int resultNum; //当前结果数组的数据个数
int showNum; //每页显示记录条数
int startNum; //当前页显示数据索引的起始值
int endNum; //当前页显示数据索引的结束值
int[][] finallyResult; //当前数组
int TOTAL; //代表33个选项
struct WinResult //预测结果中奖情况结构
{
public int FirstNum; //一等奖注数
public int SecondNum; //二等奖注数
public int ThirdNum; //三等奖注数 3000
public int FourNum; //四等奖注数 200
public int FifthNum; //五等奖注数 10
public int SixthNum; //六等奖注数 5
public int SmallTotalMoney; //三、四、五、六等奖的合计金额假设篮球没选中
public int BigTotalMoney; //三、四、五、六等奖的合计金额假设篮球选中了
}
Groups groups; //组对象
public frmView()
{
resultNum = 0;
showNum = 1000;
startNum = 0;
endNum = showNum;
TOTAL=33;
groups = new Groups();
InitializeComponent();
}
private void frmView_Load(object sender, EventArgs e)
{
finallyResult=groups.FinallyResult;
resultNum = finallyResult.Length;
EvaluateLB(startNum , showNum, resultNum);
groups.FillCB(cbSingleDel, TOTAL);
groups.FillCB(cbSingleFilter ,TOTAL);
groups.FillListView(finallyResult,lvMain,showNum);
}
#region//给标签赋值
/// <summary>
/// 给标签赋值
/// </summary>
/// <param name="start">起始位置</param>
/// <param name="length">显示数量</param>
/// <param name="total">数组元素总数</param>
private void EvaluateLB(int start, int length, int total)
{
lbStart.Text = Convert.ToString(start);
lbEnd.Text = Convert.ToString(start + length);
lbTotal.Text = Convert.ToString(total);
}
#endregion
/// <summary>
/// 初始化标签
/// </summary>
private void initLb()
{
resultNum = 0;
showNum = 1000;
startNum = 0;
EvaluateLB(startNum, showNum, resultNum);
}
private void btnNext_Click(object sender, EventArgs e)
{
endNum = startNum + showNum;
if (endNum >= resultNum)
{
MessageBox.Show("已到最后一条记录位置!");
btnNext.Enabled = false;
return;
}
startNum = startNum + showNum;
if ((resultNum - endNum) <= showNum)
{
btnPreviou.Enabled = false;
EvaluateLB(startNum, showNum - (resultNum - endNum), resultNum);
}
else
{
EvaluateLB(startNum, showNum, resultNum);
}
groups.FillListView(finallyResult, lvMain, startNum, showNum);
btnPreviou.Enabled = true;
}
private void btnPreviou_Click(object sender, EventArgs e)
{
if (startNum == 0)
{
MessageBox.Show("已到第一条记录位置!");
btnPreviou.Enabled = false;
return;
}
if (startNum <= showNum)
{
startNum = showNum;
btnPreviou.Enabled = false;
}
startNum = startNum - showNum;
EvaluateLB(startNum, showNum, resultNum);
groups.FillListView(finallyResult, lvMain, startNum, showNum);
btnNext.Enabled = true;
}
private void btnSingleDel_Click(object sender, EventArgs e)
{
int singleData; //删除所有包含此数据的项
int[][] temp; //临时数组
singleData = int .Parse (cbSingleDel.SelectedIndex.ToString()) +1;
temp=groups.SingleDel(finallyResult, singleData);
finallyResult = null;
finallyResult = new int[temp.Length][];
finallyResult = temp;
initLb();
resultNum = finallyResult.Length;
EvaluateLB(startNum, showNum, resultNum);
groups.FillListView(finallyResult, lvMain, showNum);
}
private void btnSingleFilter_Click(object sender, EventArgs e)
{
int singleData; //删除所有不包含此数据的项
int[][] temp; //临时数组
singleData = int.Parse(cbSingleFilter.SelectedIndex.ToString()) + 1;
temp = groups.SingleFilter(finallyResult, singleData);
finallyResult = null;
finallyResult = new int[temp.Length][];
finallyResult = temp;
initLb();
resultNum = finallyResult.Length;
EvaluateLB(startNum, showNum, resultNum);
groups.FillListView(finallyResult, lvMain, showNum);
}
private void btnMuchFilter_Click(object sender, EventArgs e)
{
//int singleData; //删除所有不包含此数据的项
int[][] temp; //临时数组
int[] iFilter; //存放需过滤的数据
string strTemp; //临时字符串
char[] charSeparators = new char[] { ',' };
int[] temp1;
string[] sFilter;
int seedNum; //种子数
//singleData = int.Parse(cbSingleFilter.SelectedIndex.ToString()) + 1;
temp1 = new int[3];
temp1[0] = 1;
temp1[1] = 3;
temp1[2] = 2;
seedNum = 0;
//获得筛选数组
strTemp=tbMuchFilterNo.Text.ToString();
sFilter=strTemp.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
if (sFilter.Length <1)
{
MessageBox.Show("没有填写筛选数据!");
return;
}
//把筛选数据从string数组导入到int数组
iFilter = new int[sFilter.Length];
for (int i = 0; i < sFilter.Length; i++)
{
iFilter[i] = int.Parse(sFilter[i].ToString());
}
seedNum = int.Parse(cbFilterSeed.Text.ToString());
if (seedNum >= 6)
{
MessageBox.Show("选择的种子数不合理!");
return;
}
temp = groups.MuchFilter(finallyResult,iFilter , seedNum );
finallyResult = null;
finallyResult = new int[temp.Length][];
finallyResult = temp;
initLb();
resultNum = finallyResult.Length;
EvaluateLB(startNum, showNum, resultNum);
groups.FillListView(finallyResult, lvMain, showNum);
}
private void tbMuchFilterNo_Leave(object sender, EventArgs e)
{
string strTemp;
string[] sFilter;
char[] charSeparators;
int maxSeed; //最大种子数;
maxSeed = 6;
charSeparators = new char[] { ','};
//获得筛选数组
strTemp = tbMuchFilterNo.Text.ToString();
sFilter = strTemp.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
if (sFilter.Length > 0 && sFilter.Length < 6)
{
groups.FillCB(cbFilterSeed, sFilter.Length);
}
else
{
if (sFilter.Length > 6)
{
groups.FillCB(cbFilterSeed, maxSeed -1);
}
}
}
private void tbMuchDelNo_Leave(object sender, EventArgs e)
{
string strTemp;
string[] sDel;
char[] charSeparators;
int maxSeed; //最大种子数;
maxSeed = 6;
charSeparators = new char[] { ',' };
//获得数组
strTemp = tbMuchDelNo.Text.ToString();
sDel = strTemp.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
if (sDel.Length > 0 && sDel.Length < 6)
{
groups.FillCB(cbDelSeed, sDel.Length);
}
else
{
if (sDel.Length > 6)
{
groups.FillCB(cbDelSeed, maxSeed);
}
}
}
private void btnMuchDel_Click(object sender, EventArgs e)
{
int[][] temp; //临时数组
int[] iDel; //存放需删除的数据
string strTemp; //临时字符串
char[] charSeparators ;
string[] sDel;
int seedNum; //种子数
seedNum = 0;
charSeparators = new char[] { ',' };
//获得删除数组
strTemp =tbMuchDelNo.Text.ToString();
sDel = strTemp.Split(charSeparators, StringSplitOptions.RemoveEmptyEntries);
if (sDel.Length < 1)
{
MessageBox.Show("没有填写过滤数据!");
return;
}
//把删除数据从string数组导入到int数组
iDel = new int[sDel.Length];
for (int i = 0; i < sDel.Length; i++)
{
iDel[i] = int.Parse(sDel[i].ToString());
}
seedNum = int.Parse(cbDelSeed.Text.ToString());
if (seedNum >= 6)
{
MessageBox.Show("选择的种子数不合理!");
return;
}
temp = groups.MuchDel(finallyResult, iDel, seedNum);
finallyResult = null;
finallyResult = new int[temp.Length][];
finallyResult = temp;
initLb();
resultNum = finallyResult.Length;
EvaluateLB(startNum, showNum, resultNum);
groups.FillListView(finallyResult, lvMain, showNum);
}
private void btnSubtract_Click(object sender, EventArgs e)
{
int[][] temp;
int iStart;
int iEnd;
iStart = int.Parse(txtStart.Text);
iEnd = int.Parse(txtEnd.Text);
if (iStart < 5 || iEnd < iStart )
{
MessageBox.Show("输入范围不合法,请重新输入!");
return;
}
temp = groups.SubtractFilter (finallyResult ,iStart ,iEnd );
finallyResult = null;
finallyResult = new int[temp.Length][];
finallyResult = temp;
initLb();
resultNum = finallyResult.Length;
EvaluateLB(startNum, showNum, resultNum);
groups.FillListView(finallyResult, lvMain, showNum);
}
private void btnEncash_Click(object sender, EventArgs e)
{
string[] temp = new string[6];
int[] awardNo=new int[6];
Groups.WinResult winResult = new Groups.WinResult();
if (mtbAwardNo.Text.Trim().Length < 6)
{
MessageBox.Show("请输入6组有效数据!");
return;
}
temp = mtbAwardNo.Text.Trim().Split('-');
for (int i = 0; i < temp.Length; i++)
{
awardNo[i] = int.Parse(temp[i].ToString());
}
winResult =groups.GetWinResult(finallyResult, awardNo);
MessageBox.Show("篮球选中情况下\n中一等奖注数:" + winResult .FirstNum +
"\n中二等奖注数:"+ winResult .SecondNum +
"\n中三等奖注数:"+winResult .ThirdNum +
"\n中四等奖注数:"+winResult .FourNum +
"\n中五等奖注数:"+winResult .FifthNum +
"\n中六等奖注数:"+winResult .SixthNum +
"\n总奖金:" + winResult .BigTotalMoney +
"\n\n未选中篮球情况下" +
"\n总奖金:"+winResult.SmallTotalMoney,"中奖结果" );
initLb();
finallyResult = null;
resultNum=groups.FinallyResult .Length;
finallyResult =new int [ resultNum][];
finallyResult = groups.FinallyResult;
EvaluateLB(startNum, showNum, resultNum);
groups.FillListView(finallyResult, lvMain, showNum);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -