/// <summary>
        /// 定时器事件
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Timer1_Tick(object sender, EventArgs e)
        {
            BlockDistances dists;

            this.UpdateQueueValue(out dists);
            if (_start)
            {
                //File.AppendAllLines(_fullPath, new string[] { string.Format("{0:yyyy-MM-dd HH:mm:ss},{1},{2},{3},{4},{5},{6}", DateTime.Now, dists.LeftFront, dists.LeftMiddle, dists.LeftBack, dists.RightFront, dists.RightMiddle, dists.RightBack) });
                File.AppendAllLines(string.Format(@"{0}{1:yyyyMMddHH}.csv", _filePath, DateTime.Now), new string[] { string.Format("{0:yyyy-MM-dd HH:mm:ss},{1},{2},{3},{4},{5},{6}", DateTime.Now, dists.LeftFront, dists.LeftMiddle, dists.LeftBack, dists.RightFront, dists.RightMiddle, dists.RightBack) });
            }
            foreach (var series in this.chart1.Series)
            {
                series.Points.Clear();
            }
            for (int i = 0; i < _dataQueue.Count; i++)
            {
                BlockDistances group = _dataQueue.ElementAt(i);
                //if (group.LeftFront != 50 && checkBox_LeftFront.Checked)
                //    this.chart1.Series["LeftFront"].Points.AddXY(i, group.LeftFront);
                //if (group.LeftMiddle != 50 && checkBox_LeftMiddle.Checked)
                //    this.chart1.Series["LeftMiddle"].Points.AddXY(i, group.LeftMiddle);
                //if (group.LeftBack != 50 && checkBox_LeftBack.Checked)
                //    this.chart1.Series["LeftBack"].Points.AddXY(i, group.LeftBack);
                //if (group.RightFront != 50 && checkBox_RightFront.Checked)
                //    this.chart1.Series["RightFront"].Points.AddXY(i, group.RightFront);
                //if (group.RightMiddle != 50 && checkBox_RightMiddle.Checked)
                //    this.chart1.Series["RightMiddle"].Points.AddXY(i, group.RightMiddle);
                //if (group.RightBack != 50 && checkBox_RightBack.Checked)
                //    this.chart1.Series["RightBack"].Points.AddXY(i, group.RightBack);
                if (checkBox_LeftFront.Checked)
                {
                    this.chart1.Series["LeftFront"].Points.AddXY(i, group.LeftFront);
                }
                if (checkBox_LeftMiddle.Checked)
                {
                    this.chart1.Series["LeftMiddle"].Points.AddXY(i, group.LeftMiddle);
                }
                if (checkBox_LeftBack.Checked)
                {
                    this.chart1.Series["LeftBack"].Points.AddXY(i, group.LeftBack);
                }
                if (checkBox_RightFront.Checked)
                {
                    this.chart1.Series["RightFront"].Points.AddXY(i, group.RightFront);
                }
                if (checkBox_RightMiddle.Checked)
                {
                    this.chart1.Series["RightMiddle"].Points.AddXY(i, group.RightMiddle);
                }
                if (checkBox_RightBack.Checked)
                {
                    this.chart1.Series["RightBack"].Points.AddXY(i, group.RightBack);
                }
            }
        }
        //更新队列中的值
        private void UpdateQueueValue(out BlockDistances dists)
        {
            if (this._dataQueue.Count > _maxCount)
            {
                //先出列
                for (int i = 0; i < _num; i++)
                {
                    this._dataQueue.Dequeue();
                }
            }
            string r = _received;

            //this._dataQueue.Enqueue(BlockDistances.GetInstance(r));
            dists = new BlockDistances(r);
            this._dataQueue.Enqueue(dists);
        }
        public static BlockDistances GetInstance(string received)
        {
            BlockDistances dist = new BlockDistances(received);

            return(dist);
        }