猿问

MS 图表控件:单击时防止缩放

我正在使用 MS 图表控件,该控件在单击图表时设置一个光标,并使用户能够放大和缩小。当用户试图点击图表时,意外地发生了他拖动一个非常小的缩放矩形并且图表放大而不是处理点击的情况。


尝试单击时可以采取哪些措施来防止放大?是否有用于缩放的最小矩形大小之类的东西?


这是我处理点击的方式:


_area = new ChartArea();


private void chart1_MouseClick(object sender, MouseEventArgs e) 

{

    try 

    {

        _area.CursorX.SetCursorPixelPosition(new Point(e.X, e.Y), true);

    }

    catch (Exception ex) 

    { 


    }

}

这就是我设置缩放和光标设置的方式:


_area.AxisX.ScaleView.Zoomable = true;

_area.CursorX.IsUserSelectionEnabled = true;

_area.CursorX.IntervalType = DateTimeIntervalType.Seconds;

_area.CursorX.Interval = 1D;

_area.CursorY.IsUserSelectionEnabled = true;

_area.CursorY.Interval = 0;


哔哔one
浏览 132回答 2
2回答

MM们

您可以自己手动处理缩放。您可以使用该MouseDown事件捕获起点 X 和起点 Y。然后使用该MouseUp事件捕获终点 X 和终点 Y。一旦您有了起点和终点,您就可以确定是否要缩放。如果要缩放,可以使用下面的辅助功能手动缩放。private void set_chart_zoom(ChartArea c, double xStart, double xEnd, double yStart, double yEnd){    c.AxisX.ScaleView.Zoom(xStart, xEnd);    c.AxisY.ScaleView.Zoom(yStart, yEnd);}
随时随地看视频慕课网APP
我要回答