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

我有一张图表,其中有一个带有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)

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

最佳答案 试试这个:

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

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

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

点赞