⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 frmbluechart.cs

📁 我自己开发的双色球预测软件
💻 CS
📖 第 1 页 / 共 2 页
字号:
        /// </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 + -