winform如何避免两个面板对接重叠

时间:2017-02-13 10:24:51

标签: c# winforms panel

下图显示左侧面板停靠在左侧,而主面板停靠在Fill上,但左侧面板与主面板重叠

enter image description here

任何人都知道如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

你需要确保在同一级别上,玩一点:

Right Click on the control -> Send to Back or Bring to Front 

选项。

提供更多解释:

如果你的一个面板是Dock to Left而另一个面板是Bottom,但是那些面板不在同一水平面上(左面板位于Bottom one之上)左面板永远不会强制底部面板移动,因为Bottom面板可以使用整个空间就像它的水平一样,没有任何东西停留在左边它是有道理的。

情况发生变化,如果这两个面板处于同一水平,那么他们就会互相尊重。

在您的场景中,您希望将左侧面板向后推,使其与主面板处于同一水平,然后根据需要以相同的方式与底部面板相同。

我希望有所帮助。

答案 1 :(得分:0)

创建面板的顺序导致了这种情况。 您可以使用文档大纲更改此顺序。 将列表中的一个面板设置为高于另一个面板,使用它直到获得所需的结果。比关闭这个窗口。在我的情况下,我现在还必须重新启动visual studio,因为这个视图在某种程度上使视觉工作室非常慢。

enter image description here

enter image description here

答案 2 :(得分:-1)

我做了同样的事情,但对我来说,两个面板没有重叠。

让我告诉你我遵循的步骤。

我从工具箱中拿了一个面板。然后通过单击并拖动制作相同面板的副本。然后我分别将它们的颜色改为红色和黄色,以区分它们。然后对于红色面板,我将Dock设置为左侧,对于黄色面板,我将dock设置为fill。下面是截图。

First case 第一个案例

Second Case 第二个案例

Third Case 第三种情况