您可以对TableLayoutPanels进行分层吗?

时间:2019-08-08 13:54:28

标签: c# winforms

我正在尝试创建Windows Forms UI,以便根据按下哪个按钮显示不同的控件。我将控件分组在TableLayoutPanels中,并希望将它们堆叠在一起,以便表单本身不会比需要的大。将它们堆叠后,将根据按下的按钮显示不同的TableLayoutPanel。

我遇到的问题是TableLayoutPanels似乎忽略了它们的z顺序。我的表单上有两个,我一个发送到了后面,另一个发送到了前面,但是当我将其拖到另一个上面时,我想要的一个不会显示出来。我发给后面的那个仍然在顶部。

这种行为在设计期间在VS中发生,一旦每个面板完成,我都可以将它们堆叠起来,而与它们的顺序无关紧要,但是令人讨厌的是,我无法在VS中工作时堆叠它们。

在表单顶部,我有以下内容:

TableLayoutPanel activePanel;

然后我可以使用以下代码控制哪个面板可见:

activePanel.Visible = false;
activePanel = tlpCharacters;
activePanel.Visible = true;

我想在VS中工作时将它们堆叠在一起,以使我的表单不会混乱,并且将这些控件分层很容易(可与标准面板一起使用),所以我想知道是否无法使用TableLayoutPanel控件对象?

1 个答案:

答案 0 :(得分:-1)

Sinatr拥有完美的解决方案。我已改用TabControl,它正在为我做所有工作。 感谢Sinatr。我希望我在开始这个项目时就知道这个控制对象!那会教我阅读文档。