📄 frmbluechart.cs
字号:
/// </summary>
/// <param name="statResult">统计结果对象</param>
private void ShowStatInfo(StatResult statResult)
{
tsslCurValue.Text = "当前期数:" + statResult .CurValue .ToString () ;
tsslAverage.Text = "平均期数为:" + statResult .Average .ToString ();
tsslHitAward.Text = "当前球出现次数:" + statResult .HitAward .ToString ();
tsslAppear.Text = "当前期数出现次数:" + statResult .Appear .ToString ();
tsslAppear2.Text = "正负2期的出现次数:" + statResult .Appear2 .ToString ();
tsslCommend.Text = "推荐指数:";
}
/// <summary>
/// Display customized tooltips when the mouse hovers over a point
/// </summary>
private string MyPointValueHandler(ZedGraphControl control, GraphPane pane,
CurveItem curve, int iPt)
{
// Get the PointPair that is under the mouse
PointPair pt = curve[iPt];
return curve.Label.Text + " is " + pt.Y.ToString("f2") + " units at " + pt.X.ToString("f1") + " days";
}
/// <summary>
/// Customize the context menu by adding a new item to the end of the menu
/// </summary>
private void MyContextMenuBuilder(ZedGraphControl control, ContextMenuStrip menuStrip,
Point mousePt, ZedGraphControl.ContextMenuObjectState objState)
{
ToolStripMenuItem item = new ToolStripMenuItem();
item.Name = "add-beta";
item.Tag = "add-beta";
item.Text = "Add a new Beta Point";
item.Click += new System.EventHandler(AddBetaPoint);
menuStrip.Items.Add(item);
}
/// <summary>
/// Handle the "Add New Beta Point" context menu item. This finds the curve with
/// the CurveItem.Label = "Beta", and adds a new point to it.
/// </summary>
private void AddBetaPoint(object sender, EventArgs args)
{
// Get a reference to the "Beta" curve IPointListEdit
IPointListEdit ip = zgMain.GraphPane.CurveList["Beta"].Points as IPointListEdit;
if (ip != null)
{
double x = ip.Count * 5.0;
double y = Math.Sin(ip.Count * Math.PI / 15.0) * 16.0 * 13.5;
ip.Add(x, y);
zgMain.AxisChange();
zgMain.Refresh();
}
}
// Respond to a Zoom Event
private void MyZoomEvent(ZedGraphControl control, ZoomState oldState,
ZoomState newState)
{
// Here we get notification everytime the user zooms
}
#endregion
#region//统计所有
/// <summary>
/// 统计所有16个蓝球
/// </summary>
/// <param name="statNum">统计期数</param>
private void StatAll(int statNum)
{
int SIXTEEN = 16; //常数16
double MaxValue = 0; //最大值
string[][] blueBallData; //从数据库中取得的蓝球数据
ArrayList tempArray = new ArrayList();
double[] yValue; //y值数组
int Summation; //总和
string blueBallNo; //蓝球号码
InitDGVStatAll();
for (int i = 1; i <= SIXTEEN; i++)
{
if (i < 10)
{
blueBallNo = "0" + i.ToString();
}
else
{
blueBallNo = i.ToString();
}
tempArray = historyAnalyse.GetBlueFrequency(blueBallNo, statNum);
if (tempArray.Count == 0)
{
continue;
}
blueBallData = new string[tempArray.Count][];
tempArray.CopyTo(blueBallData);
//把string数组转换成double数组,只有间隔期数,没有序号
yValue = new double[blueBallData.Length];
for (int j = 0; j < yValue.Length; j++)
{
yValue[yValue.Length - j - 1] = Convert.ToDouble(blueBallData[j][1].ToString());
}
statResult = AccountStatResult(yValue);
statResult.CurBuleBallNo = blueBallNo;
ShowStatAllResult(statResult);
}
}
/// <summary>
/// 初始化dgvStatAll
/// </summary>
private void InitDGVStatAll()
{
//int I_SEVEN = 7; //七
//int I_SIXTEEN = 16; //十六
dgvStatAll.Rows.Clear();
dgvStatAll.RowHeadersVisible = false;
dgvStatAll.Columns[0].Width = 40;
dgvStatAll.Columns[1].Width = 80;
dgvStatAll.Columns[2].Width = 80;
dgvStatAll.Columns[3].Width = 115;
dgvStatAll.Columns[4].Width = 125;
dgvStatAll.Columns[5].Width = 135;
dgvStatAll.Columns[6].Width = 80;
//设置单元格样式
//DataGridViewCellStyle MyStyle = new DataGridViewCellStyle();
//MyStyle.BackColor = Color.PaleGoldenrod;
//MyStyle.ForeColor = Color.Black;
//DataGridViewCellStyle MyStyle1 = new DataGridViewCellStyle();
//MyStyle1.BackColor = Color.PaleGoldenrod;
//MyStyle1.ForeColor = Color.Black;
//for (int i = 0; i < I_SIXTEEN; i++)
//{
// dgvStatAll.Rows[i].Cells[0].Style = MyStyle1;
// //this.dgwHistoryView.Rows[i].Cells[1].Style = MyStyle1;
// if (i % 2 == 0)
// {
// this.dgvStatAll.Rows[i].DefaultCellStyle = MyStyle;
// //for (int j = 0; j < I_SEVEN; j++)
// //{
// // DataGridViewCell cell = this.dgvStatAll.Rows[i].Cells[j];
// //}
// }
//}
}
/// <summary>
/// 把某个蓝球的统计数据在dgv中显示出来
/// </summary>
/// <param name="statResult">统计结果对象</param>
private void ShowStatAllResult(StatResult statResult)
{
string[] sTemp;
sTemp =new string [7];
sTemp[0] = statResult.CurBuleBallNo.ToString();
sTemp[1] = statResult.CurValue.ToString();
sTemp[2] = statResult.Average.ToString();
sTemp[3] = statResult.HitAward.ToString();
sTemp[4] = statResult.Appear.ToString();
sTemp[5] = statResult.Appear2.ToString();
sTemp[6] = statResult.Commend.ToString();
DataGridViewRowCollection rows = this.dgvStatAll .Rows;
rows.Add(sTemp);
}
/// <summary>
/// 计算统计结果
/// </summary>
/// <param name="yValue">某蓝球数据的数组</param>
/// <returns>成功返回StatResult统计结果对象</returns>
private StatResult AccountStatResult(double[] yValue)
{
//计算统计信息
int Summation; //总和
StatResult statResult;
Summation = 0;
statResult = new StatResult();
statResult.Appear = 0;
statResult.Appear2 = 0;
statResult.HitAward = yValue.Length - 1;
statResult.CurValue = Convert.ToInt32(yValue[yValue.Length - 1].ToString());
for (int i = 0; i < statResult.HitAward; i++)
{
int curValue = Convert.ToInt32(yValue[i].ToString());
Summation += curValue;
//当前期数出现次数
if (curValue == statResult.CurValue && i != statResult.HitAward)
{
statResult.Appear += 1;
}
//当前期数正负两期出现次数
if (statResult.CurValue >= curValue - 2 && statResult.CurValue <= curValue + 2 && i != statResult.HitAward)
{
statResult.Appear2 += 1;
}
}
//平均期数
statResult.Average = Summation / yValue.Length;
//推荐指数待写
statResult.Commend = 0;
return statResult;
}
#endregion
#region//获得当前篮球的号码
/// <summary>
/// 获得当前篮球的号码
/// </summary>
/// <returns>当前篮球的号码,如: 02 </returns>
private string GetRBValue()
{
if (rbNum1.Checked == true)
{
return rbNum1.Text;
}
if (rbNum2.Checked == true)
{
return rbNum2.Text;
}
if (rbNum3.Checked == true)
{
return rbNum3.Text;
}
if (rbNum4.Checked == true)
{
return rbNum4.Text;
}
if (rbNum5.Checked == true)
{
return rbNum5.Text;
}
if (rbNum6.Checked == true)
{
return rbNum6.Text;
}
if (rbNum7.Checked == true)
{
return rbNum7.Text;
}
if (rbNum8.Checked == true)
{
return rbNum8.Text;
}
if (rbNum9.Checked == true)
{
return rbNum9.Text;
}
if (rbNum10.Checked == true)
{
return rbNum10.Text;
}
if (rbNum11.Checked == true)
{
return rbNum11.Text;
}
if (rbNum12.Checked == true)
{
return rbNum12.Text;
}
if (rbNum13.Checked == true)
{
return rbNum13.Text;
}
if (rbNum14.Checked == true)
{
return rbNum14.Text;
}
if (rbNum15.Checked == true)
{
return rbNum15.Text;
}
if (rbNum16.Checked == true)
{
return rbNum16.Text;
}
return rbNum1.Text;
}
#endregion
private void btnStat_Click(object sender, EventArgs e)
{
int statNum; //统计期数
statNum = Convert.ToInt32(mtbStatNum.Text.ToString());
if (statNum < 1)
{
return;
}
plChart.Visible = true;
plStatAll.Visible = false;
ShowChart1(GetRBValue(), statNum);
ShowStatInfo(statResult);
InitStatInfo(statResult);
}
private void btnStatAll_Click(object sender, EventArgs e)
{
int statNum; //统计期数
statNum = Convert.ToInt32(mtbStatNum.Text.ToString());
if (statNum < 1)
{
return;
}
plChart.Visible = false;
plStatAll.Visible = true;
plStatAll.Show();
StatAll(statNum);
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -