【发布时间】:2012-03-24 10:56:57
【问题描述】:
我正在尝试做一些非常简单的事情,这给我在 C# Winforms 中带来了巨大的问题。我在 TabPage 上有两个组框。一个停靠在右侧,一个停靠在底部。我在页面上也有一个图表(System.Windows.Forms.DataVisualization.Charting)。此图表用于停靠。填充页面上的剩余空间。
我第一次遇到图表隐藏在两个组框后面并且仍然停靠填充整个页面的问题。但是,我发现我可以通过使用“BringToFront”(或重新排序文档大纲顺序)来解决这个问题,然后图表正确停靠并且不与页面上的任何其他控件重叠。
但是,我试图在运行时向页面添加图表,它再次填充整个页面并隐藏在其他控件后面。我怎样才能完成这项工作?
编辑: 忘了说,调用“BringToFront”会抛出异常“Width must be greater than 0px”。
chart_TapChart = new Chart();
chart_TapChart.Dock = DockStyle.Fill;
chart_TapChart.BringToFront();
GroupBox gp1 = new GroupBox();
gp1.Dock = DockStyle.Right;
GroupBox gp2 = new GroupBox();
gp2.Dock = DockStyle.Bottom;
this.Controls.Add(chart_TapChart); <--this refers to tabpage
this.Controls.Add(gp1);
this.Controls.Add(gp2);
【问题讨论】:
-
这是代码的要点。从字面上看,只是简单明了的东西。此代码包含在 TabPage 中。 TabPage 被添加到 TabController。