取消组合小组?

时间:2013-09-27 15:39:51

标签: c# winforms

所以我正在开发一个程序,它有几个屏幕,导致它有重叠的控件(按钮和列表)。

我将控件放在面板中,效果很好,然后显示/隐藏面板。

这也很有效。

我现在遇到一个问题,我有几个面板,当我向上移动一个面板时,它被另一个面板吸收,我需要它们保持分开。

示例:当我将panel2移动到panel1上时,panel2成为panel1的一部分。然后当我执行panel1.Hide()panel2.Show()时,panel2仍然是隐藏的,因为它是panel1的一部分。有没有办法让我取消组合这些或移动panel2到位,而不会自动成为panel1的一部分? (我知道我可以显示隐藏面板内部的控件,但这会增加很多复杂性,因为我有很多控件)

也许有比使用面板更好的解决方案?

1 个答案:

答案 0 :(得分:3)

您可以使用View + Other Windows + Document Outline工具窗口重新分隔这些面板。将内部面板拖回父级。然后,您还必须编辑“位置”属性以将其恢复到正确的位置。

这当然很烦人,你必须反复做这件事。有一个更好的方法,TabControl具有良好的设计时支持,并具有相同的“重叠面板”比喻。您只需要在运行时隐藏选项卡。这很容易做到,请检查this answer中的StackPanel控件。