【问题标题】:How do I get panels to show up on the same layer in winform C#?如何让面板显示在 winform C# 的同一层?
【发布时间】:2013-04-09 22:08:50
【问题描述】:

我将所有面板都停靠在窗框上,但不幸的是,其中一个面板出现在另一个面板上。相反,停靠所有面板会很好,因此它们共享同一层(z-index)并且不在彼此之上。感谢您的帮助。

【问题讨论】:

  • 如果您不将面板并排放置,例如一个停靠在左侧,另一个停靠在客户端(剩余空间),您认为如何在相同的 Z 索引处查看两者?将两个面板想象成两张纸,如果将它们重叠,则必须始终在顶部,否则您不会重叠,并且将有相同的 Z 索引但不同的区域(并排)
  • 我以为它们会像 div 一样自动共享同一个区域。我有一个停靠在顶部的面板,但它还需要垂直重新缩放。获得这种行为的唯一方法是停靠填充,而不是最终使面板重叠。最终,我希望两个面板停靠在顶部,其中只有一个面板垂直缩放。
  • 将两个面板中的最后一个设置为 Dock.Fill,然后将其放置在停靠在顶部的面板下方,并填充垂直空间
  • 我试过了,一个面板总是在另一个面板之上。

标签: c# winforms


【解决方案1】:

您有多种选择:

  • 您可以使用Anchor 属性和Anchor 顶部面板LeftTopRight 以及所有四个侧面的底部面板
  • 您可以再放一个面板,将Dock 设置为Bottom,然后将Dock 中间面板设置为Fill,它将占用剩余空间
  • 您可以使用TableLayoutPanel 并制作 3 行

使用视图 -> 其他窗口 -> 文档大纲以更好地了解正在发生的事情

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-06-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多