日期:2014-05-20  浏览次数:20837 次

求助:C#中Chart图表上的坐标怎么与窗体坐标对应
请大师指教,非常感谢!

------解决方案--------------------
哦 明白了 你就是要做一个框选放大功能对吧 早说嘛
 首先你的chart控件x轴最小刻(min)和最大刻度(max)对应的是窗体位置是ex1和ex2(这个你可以在chart控件上加一个鼠标移动事件来获取最小刻度和最大刻度位置时对应的的e.x)
private void chart1_MouseMove(object sender, MouseEventArgs e)
{
label1.Text = e.X.ToString();
}
然后如果你要框选的话肯定得给控件加个鼠标按下事件可鼠标放开事件 分别记录他的坐标值 加入你按下鼠标对应屏幕坐标值为e.x和e.y 那当前chart控件的坐标值可以得出 (max-min)/(ex2-ex1) = (e.x-min)/(当前的x轴坐标-ex1) 计算就可以得出当前x轴坐标了同理 其他三个坐标也可以得出
------解决方案--------------------
探讨

这个方法,确实可以找到相对坐标,实现框选放大。能不能省掉选点这个动作,直接找到坐标原点对应的窗体坐标呢?