C# Microsoft WinForms图表控件-标题框

C# Microsoft WinForms图表控件-标题框,c#,winforms,microsoft-chart-controls,C#,Winforms,Microsoft Chart Controls,我希望在MicrosoftWinForms图表控件中生成这种类型的标题框,以便标题框停靠在图表区域的顶部 有没有办法像这样将标准标题框放置在图表区域的顶部,或者我可以将这样的文本框添加到图表控件中?选项1:您可以像这样将标签添加到图表中: int lh = (int)(label1.Height / chart1.Height * 100f); int cw = chart1.Width; ChartArea CA = chart1.ChartAreas[0]; ElementPositio

我希望在MicrosoftWinForms图表控件中生成这种类型的标题框,以便标题框停靠在图表区域的顶部


有没有办法像这样将标准标题框放置在图表区域的顶部,或者我可以将这样的文本框添加到图表控件中?

选项1:您可以像这样将
标签添加到
图表中:

int lh = (int)(label1.Height / chart1.Height * 100f);
int cw = chart1.Width;

ChartArea CA = chart1.ChartAreas[0];
ElementPosition EP = CA.InnerPlotPosition;
CA.InnerPlotPosition = new ElementPosition(EP.X, EP.Y + lh, EP.Width, EP.Height - lh);
label1.Location = new Point((int)(EP.X * cw / 100f) + 10, 0);
label1.Width = (int)(EP.Width * cw / 100f) - 20;
label1.Height -= 2;
label1.Parent = chart1;
或者,您可能希望通过将标签固定到顶部来定位标签

您可以根据自己的喜好设置标签的样式,甚至可以添加图像

您可能需要调整标签的偏移量。高度

选项2:您可以使用相同的方式移动标题框:

chart1.Titles.Add("TiltelBox");
Title T = chart1.Titles[0];
ChartArea CA = chart1.ChartAreas[0];

T.DockedToChartArea = CA.Name;
T.BackColor = Color.Wheat;
T.Docking = Docking.Top;
T.IsDockedInsideChartArea = true;
ElementPosition EP = T.Position;
T.Position = new ElementPosition
                (EP.X + 10f, EP.Y -0.5f, EP.Width + 83.5f, EP.Height + 9f);

再一次:你会想玩弄你定位标题的方式。上面的这些碰巧在这里起作用,但是你需要用你的图表来改变它们

请记住,使用图表大小的1/100作为其单位;这是很好的,因为它的规模,但使它难以建立在第一