我有一个图表(win-forms 视觉工作室附带的标准图表),我已经设置了放大。每次缩放此图表时,我都想运行一个函数,但是我找不到缩放时触发的事件。我查看了事件列表,我认为唯一可行的是“AxisViewChanged”,但是这是在许多更改时触发的,我不知道如何仅找出缩放更改。我错过了一些缩放事件吗?还是这不存在?
问问题
5198 次
1 回答
3
你可以做这样的事情
double oldSelStart = -1;
double oldSelEnd = -1;
private void chart1_AxisViewChanged(object sender, ViewEventArgs e)
{
double newSelStart = chart1.ChartAreas["Default"].CursorX.SelectionStart;
double newSelEnd = chart1.ChartAreas["Default"].CursorX.SelectionEnd;
const double TOLERANCE = 0.1;
if (Math.Abs(oldSelEnd - newSelEnd) > TOLERANCE || Math.Abs(newSelStart - oldSelStart) > TOLERANCE)
{
oldSelStart = newSelStart;
oldSelEnd = newSelEnd;
//Zoom has actually changed do your stuff
}
}
基本上,您会记住旧的缩放范围并自己处理 AxisViewChanged 并确定缩放是否实际发生了变化
于 2013-04-01T16:35:39.743 回答