如何在winform C#中控制图表的缩放能力?

时间:2013-03-08 09:51:52

标签: c# winforms zoom

我有一张图表,其中有一个带有x轴y轴的图表区域。 首先,我必须将其设置为zoomable,

chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = true;
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = true;

默认情况下,如果我使用鼠标选择矩形区域,图表将缩放到所选区域。 但这很烦人,因为它容易出现误操作。 但如果我这样做:

chart1.ChartAreas[0].AxisY.ScaleView.Zoomable = false;
chart1.ChartAreas[0].AxisX.ScaleView.Zoomable = false;

即使我打电话

,轴也不会变焦
chart1.ChartAreas[0].AxisX.ScaleView.Zoom(a, b);

所以,我希望图表区可以缩放,但我不喜欢鼠标选择功能。

我找到了一种方法,

void chart1_SelectionRangeChanged(object sender, CursorEventArgs e)

似乎当我选择一个新区域时,将调用此方法, 但它并不意味着被覆盖。 我能做什么? 谢谢!

1 个答案:

答案 0 :(得分:2)

试试这个:

var ca = chart1.ChartAreas["ChartArea1"];
ca.CursorX.IsUserEnabled = false;
ca.CursorX.IsUserSelectionEnabled = false;

(和CursorY一样,如果图表区域的名称不同,则将“ChartArea1”替换为。)

这将禁用鼠标选择,因此您不会再冒险进行意外缩放。