c# - 向 MS Chart 控件 C# 添加滚动条

标签 c# winforms mschart

请理解,我知道还有其他线程涉及此问题,但我的需求不同。

基本上在我看到人们说要使用 MSChart 实现滚动条之前,他们使用

.大小 = ...

.View = ...

但是,这会使滚动条自动出现,并且此滚动条包含一个按钮,单击该按钮会使滚动条消失,从而使图表显示所有数据,并且无法在不重新启动的情况下将滚动 strip 回图表应用程序。

所以请问,有没有办法在图表的 X 轴上加入水平滚动条?我需要 以便我可以在 100 秒 block 的 block 上查看我的图表数据。

即0 - 100,然后单击滚动条会将我带到 100 - 200 block 。

先谢谢大家!!!!!!我也在用 C# 编码

最佳答案

这是您需要的示例:
(要尝试一下,只需创建一个表单,添加一个 mschart 并调用以下方法)

private void FillChart()
{
    int blockSize = 100;

    // generates random data (i.e. 30 * blockSize random numbers)
    Random rand = new Random();
    var valuesArray = Enumerable.Range(0, blockSize * 30).Select(x => rand.Next(1, 10)).ToArray();

    // clear the chart
    chart1.Series.Clear();

    // fill the chart
    var series = chart1.Series.Add("My Series");
    series.ChartType = SeriesChartType.Line;
    series.XValueType = ChartValueType.Int32;
    for (int i = 0; i < valuesArray.Length; i++)
        series.Points.AddXY(i, valuesArray[i]);
    var chartArea = chart1.ChartAreas[series.ChartArea];

    // set view range to [0,max]
    chartArea.AxisX.Minimum = 0;
    chartArea.AxisX.Maximum = valuesArray.Length;

    // enable autoscroll
    chartArea.CursorX.AutoScroll = true;

    // let's zoom to [0,blockSize] (e.g. [0,100])
    chartArea.AxisX.ScaleView.Zoomable = true;
    chartArea.AxisX.ScaleView.SizeType = DateTimeIntervalType.Number;
    int position = 0;
    int size = blockSize;
    chartArea.AxisX.ScaleView.Zoom(position, size);

    // disable zoom-reset button (only scrollbar's arrows are available)
    chartArea.AxisX.ScrollBar.ButtonStyle = ScrollBarButtonStyles.SmallScroll;

    // set scrollbar small change to blockSize (e.g. 100)
    chartArea.AxisX.ScaleView.SmallScrollSize = blockSize;
}

快照:

mschart zooming

关于c# - 向 MS Chart 控件 C# 添加滚动条,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5141126/

相关文章:

c# - Rhino 使用 FakeItEasy 模拟 'Expect'

c# - 在不关注 TabControl 选项卡的情况下循环

c# - 如何重置 MSCHart 值

c# - 如果未找到项目,为什么 LINQ 的 First 方法不简单地返回 null?

c# - 写入日志文件

c# - mvp 模式中的(嵌套)用户控件导致偶发问题

.net - 为什么 Graphics::DrawImage 不能按预期拉伸(stretch)图像?

asp.net-mvc-3 - 在 system.web.helpers.chart 中使用 theme.xml 时如何设置系列主题

c# - MS Chart 控件轴格式

c# - 两个依赖项的两个包版本