2013-03-08 238 views
4

我有一个图表,其中有一个x轴y轴chartarea。所有的 首先,我必须将它设置为可缩放的,如何在Winform C#中控制图表的缩放功能?

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); 

所以,我希望chartarea是可缩放的,但我不喜欢鼠标选择能力。

我发现了一个方法,

void chart1_SelectionRangeChanged(object sender, CursorEventArgs e) 

看来,当我选择一个新的领域,这种方法将被调用, 但它并不意味着要重写。 我能做什么? 谢谢!

回答

2

试试这个:

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

(和同为走马观花,并与你的图表区域的名称替换“ChartArea1”如果是不同的)。

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

+0

它的工作原理! 非常感谢! – aihenry2980 2013-04-03 04:37:25

+0

我觉得你有一个太多的“CursorX”。 – 2017-05-08 16:43:16