When using the mouse wheel to zoom a problem arises.
English not well written.
The blog to view the video was attached.
http://ehdrn.tistory.com/450
If you check the questions, url will delete.
Thank you.
Code: Select all
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using Arction.LightningChartUltimate;
using Arction.LightningChartUltimate.Axes;
using Arction.LightningChartUltimate.SeriesXY;
using Arction.LightningChartUltimate.Views.ViewXY;
namespace ZoomBug
{
public partial class Form1 : Form
{
LightningChartUltimate chart;
public Form1()
{
InitializeComponent();
CreateChart();
}
private SeriesPoint[] CreateSamplePoints(int index)
{
SeriesPoint []points = new SeriesPoint[100000];
Random rand = new Random();
#region Bug
int x = 80000;
const int MaxX = 92000;
for (int i = 0; i < points.Length; i++)
{
if (index == 0)
{
points[i] = new SeriesPoint(i, x++);
}
else if (index == 1)
{
points[i] = new SeriesPoint(i, x++);
}
else
{
points[i] = new SeriesPoint(i, 0);
}
if (x == MaxX)
x = 80000;
}
#endregion
#region Good
//for (int i = 0; i < points.Length; i++)
//{
// points[i] = new SeriesPoint(i, rand.Next(0,10000));
//}
#endregion
return points;
}
private void CreateChart()
{
chart = new LightningChartUltimate();
chart.BeginUpdate();
chart.Parent = this;
chart.Dock = DockStyle.Fill;
chart.ViewXY.AxisLayout.YAxesLayout = YAxesLayout.Segmented;
chart.ViewXY.LegendBox.Visible = false;
ViewXY chartView = chart.ViewXY;
chart.ViewXY.AxisLayout.Segments.Clear();
chart.ViewXY.YAxes.Clear();
for (int i = 0; i < 3; i++)
{
chart.ViewXY.AxisLayout.Segments.Add(new YAxisSegment() { Height = 1});
AxisY yAxis = new AxisY();
yAxis.SegmentIndex = i;
chart.ViewXY.YAxes.Add(yAxis);
PointLineSeries series = new PointLineSeries(chartView, chartView.XAxes[0], chartView.YAxes[i]);
series.Points = CreateSamplePoints(i);
series.LimitYToStackSegment = true;
series.LineStyle.Pattern = LinePattern.Solid;
series.LineStyle.Width = 1f;
series.LineStyle.AntiAliasing = LineAntialias.None;
series.LimitYToStackSegment = true;
series.PointsOptimization = PointsRenderOptimization.Pixels;
series.PointsVisible = false;
series.ScrollingStabilizing = true;
series.ScrollModePointsKeepLevel = 100;
series.MouseInteraction = false;
series.MouseHighlight = MouseOverHighlight.None;
chart.ViewXY.PointLineSeries.Add(series);
}
chart.EndUpdate();
chart.ViewXY.FitView();
}
}
}