2
            int blockSize = 100;

            // generates random data (i.e. 30 * blockSize random numbers)
            Random rand = new Random();
            var valuesArray = Enumerable.Range(0, blockSize * 30).Select(x => rand.Next(1, 10)).ToArray();

            // clear the chart
            chart1.Series.Clear();


            //chart1.ChartAreas[0].AxisX.Interval = 3.0;
            //chart1.ChartAreas[0].AxisX.IntervalType = DateTimeIntervalType.Auto;
            DateTime now = DateTime.Now;
            chart1.ChartAreas[0].AxisX.LabelStyle.Format = "HH:mm:ss";
            chart1.ChartAreas[0].AxisX.Minimum = now.ToOADate();
            // fill the chart
            var series = chart1.Series.Add("My Series");
            series.XValueType = ChartValueType.DateTime;
            series.ChartType = SeriesChartType.Line;
            //series.XValueType = ChartValueType.Int32;
            //DateTime.Now.AddSeconds(i).ToOADate()
            for (int i = 0; i < valuesArray.Length; i++)
                series.Points.AddXY(now.AddSeconds(i).ToOADate(), valuesArray[i]);
            var chartArea = chart1.ChartAreas[series.ChartArea];

            // set view range to [0,max]
            //chartArea.AxisX.Minimum = 0;
            //chartArea.AxisX.IntervalType = DateTimeIntervalType.Seconds;
            //chartArea.AxisX.Interval = 10d;
               // chartArea.AxisX.Maximum = 100;

            // enable autoscroll
            chartArea.CursorX.AutoScroll = true;

            // let's zoom to [0,blockSize] (e.g. [0,100])
            chartArea.AxisX.ScaleView.Zoomable = true;
            chartArea.AxisX.ScaleView.SizeType = DateTimeIntervalType.Auto;
            int position = 0;
            int size = blockSize;
            chartArea.AxisX.ScaleView.Zoom(now.AddSeconds(-5).ToOADate(), now.AddSeconds(20).ToOADate());
            //chart1.ChartAreas[0].AxisX.ScaleView.ZoomReset();
            // disable zoom-reset button (only scrollbar's arrows are available)
            chartArea.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;

            // set scrollbar small change to blockSize (e.g. 100)
            chartArea.AxisX.ScaleView.SmallScrollSize = (new TimeSpan(0,0,10)).TotalSeconds;

上記のコードでは、スクロール バーをドラッグできません。スクロール バーをクリックすると動かなくなります。矢印を使用してスクロールできます。

ここに画像の説明を入力

4

1 に答える 1