如何在运行时调整 ChartArea 的大小
How can I resize a ChartArea during runtime
我里面有一个图表和一个 ChartArea。
我想在 Y 轴或 X 轴上调整 ChartArea 的大小,但我做不到。我需要一个可以在运行时用鼠标调整大小的 ChartArea 控件元素。
我需要调整图表(或 ChartArea)上的元素,这会调整我的 ChartArea..
这是一个例子..
- ..添加一个可移动的
HorizontalLineAnnotation
作为句柄并且..
- ..编码
AnnotationPositionChanging
以使用句柄作为 两个 之间的滑块 ChartAreas
:
在class级别定义:
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
的大小,虽然我不明白你为什么要那样..
我里面有一个图表和一个 ChartArea。
我想在 Y 轴或 X 轴上调整 ChartArea 的大小,但我做不到。我需要一个可以在运行时用鼠标调整大小的 ChartArea 控件元素。
我需要调整图表(或 ChartArea)上的元素,这会调整我的 ChartArea..
这是一个例子..
- ..添加一个可移动的
HorizontalLineAnnotation
作为句柄并且.. - ..编码
AnnotationPositionChanging
以使用句柄作为 两个 之间的滑块ChartAreas
:
在class级别定义:
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
的大小,虽然我不明白你为什么要那样..