繁体   English   中英

如何在运行时调整ChartArea的大小

[英]How can I resize a ChartArea during runtime

我有一个图表和一个ChartArea。

我想在Y轴或X轴上调整ChartArea的大小,但我不能这样做。 我需要一个ChartArea控件元素,可以在运行时使用鼠标调整大小。

我需要在图表(或ChartArea)上调整元素大小来调整我的ChartArea的大小。

这是一个例子..

  • ..添加一个可移动的HorizontalLineAnnotation作为句柄和..
  • ..编码AnnotationPositionChanging以将句柄用作两个 ChartAreas之间的滑块:

在此输入图像描述

在班级定义:

HorizontalLineAnnotation slider =   new HorizontalLineAnnotation();

设置它并添加到Chart

slider.AllowMoving = true;
slider.LineWidth = 2;
slider.LineColor = Color.DarkSlateGray;
slider.X = 0;     
slider.Y = 50;
slider.Width = 100;
chart1.Annotations.Add(slider);

这将滑块设置在中间的左侧,让它穿过整个图表。

private void chart1_AnnotationPositionChanging(object sender,
                                               AnnotationPositionChangingEventArgs e)
{
    if (e.Annotation == slider)
    {
        chart1.ChartAreas[0].Position.Height = (float)slider.Y - 4;
        chart1.ChartAreas[1].Position.Height = (float)(100f - slider.Y) - 4;
        chart1.ChartAreas[1].Position.Y = (float)slider.Y;

        chart1.Update();
    }
}

这调整了两个ChartAreas大小,保留了4%的外部资源。 我有一个Title ,一个顶部停靠的Legend或大Labels你需要提供超过4%...

当然你可以修改它来改变一个ChartArea的大小,虽然我不明白为什么你会想要那个..

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM