您如何使用 MSChart for .Net 中的缩放 UI

本文关键字:缩放 UI Net for 何使用 MSChart | 更新日期: 2023-09-27 18:32:09

我刚刚开始考虑将 .Net 3.5 的 MSChart 控件用于即将开始的项目。该项目的要求之一是用户能够放大图表,以便在必要时更清楚地看到小数据点。

我已经看过许多教程,要么没有提到缩放,要么只是提供了有关如何启用它的简短信息,并且似乎假设使用它是如此明显以至于不需要解释。

我创建了一个快速测试项目,将控件添加到窗体中,然后向默认系列添加了一些 Point。然后,我进入了 ChartAreas 集合,并确保在默认的 ChartArea 中,在所有 Axis 成员的 ScaleView 属性中将 Zoomable 属性设置为 True。

当我运行应用程序时,我的图表正确显示所有内容,但我无法理解任何放大它的方法。我尝试单击它,双击,滚轮,ctrl-滚轮,ctrl-+和许多其他东西。

我显然错过了一些东西。有人可以告诉我我做错了什么,我如何启用缩放 UI,以及我如何实际使用缩放 UI?

我使用的是Windows 7,使用VS2012。

谢谢。

[编辑:修复了标题中的愚蠢拼写错误]

您如何使用 MSChart for .Net 中的缩放 UI

执行以下操作应该

允许您使用鼠标左键单击并拖动进行缩放:

private void ZoomToggle(bool Enabled)
{
    // Enable range selection and zooming end user interface
    this.cwSubplot.ChartAreas(0).CursorX.IsUserEnabled = Enabled;
    this.cwSubplot.ChartAreas(0).CursorX.IsUserSelectionEnabled = Enabled;
    this.cwSubplot.ChartAreas(0).CursorX.Interval = 0;
    this.cwSubplot.ChartAreas(0).AxisX.ScaleView.Zoomable = Enabled;
    this.cwSubplot.ChartAreas(0).AxisX.ScrollBar.IsPositionedInside = true;
    this.cwSubplot.ChartAreas(0).AxisX.ScrollBar.ButtonStyle = System.Windows.Forms.DataVisualization.Charting.ScrollBarButtonStyles.SmallScroll;
    this.cwSubplot.ChartAreas(0).AxisX.ScaleView.SmallScrollMinSize = 0;
    this.cwSubplot.ChartAreas(0).CursorY.IsUserEnabled = Enabled;
    this.cwSubplot.ChartAreas(0).CursorY.IsUserSelectionEnabled = Enabled;
    this.cwSubplot.ChartAreas(0).CursorY.Interval = 0;
    this.cwSubplot.ChartAreas(0).AxisY.ScaleView.Zoomable = Enabled;
    this.cwSubplot.ChartAreas(0).AxisY.ScrollBar.IsPositionedInside = true;
    this.cwSubplot.ChartAreas(0).AxisY.ScrollBar.ButtonStyle = System.Windows.Forms.DataVisualization.Charting.ScrollBarButtonStyles.SmallScroll;
    this.cwSubplot.ChartAreas(0).AxisY.ScaleView.SmallScrollMinSize = 0;
    if (Enabled == false) {
        //Remove the cursor lines
        this.cwSubplot.ChartAreas(0).CursorX.SetCursorPosition(double.NaN);
        this.cwSubplot.ChartAreas(0).CursorY.SetCursorPosition(double.NaN);
    }
}

其中this.cwSubplot是要缩放处理的Chart对象。