【问题标题】:why are new controls showing up in my form AND panel为什么新控件出现在我的表单和面板中
【发布时间】:2017-11-07 08:46:21
【问题描述】:

我有一个带有一些控件的表单,我有一个带有不同控件的面板,该面板位于表单控件上方。

我在表单中添加了新控件,当我将面板放回表单上时,新控件通过面板本身显示,但只有新控件而不是“旧”控件,如果我复制并粘贴一个控件或添加一个具有相同效果的新控件。

我查看了 Designer.cs,新控件被添加到表单而不是面板本身。

这很奇怪,我检查了各种属性,但无法立即看到原因。

我以前做过很多表格,这是第一次发生这种情况。

注意控件,有没有办法将标签“AutoSize”属性的默认值从 TRUE 更改为 FALSE;我正在使用 Visual Studio CE2015

关于检查什么的任何想法?我真的被这个难住了。

【问题讨论】:

  • 我发现您对问题的文字描述难以理解。我已经阅读了三四遍,但我仍然不确定我是否完全理解您所看到的行为。但听起来这只是一个 Z 顺序问题。 “新”控件的 Z 顺序高于面板,因此它们显示在面板顶部。
  • 但是 z 顺序是怎么搞砸的呢?我真的不知道还要添加什么,面板“隐藏”表单上的控件,但是当我向 mainForm 添加新控件时,它会通过面板显示..
  • 您添加的新控件将插入到 Z 顺序的顶部。
  • 这是MDI表格吗?
  • 这可能与“当我将面板放回原处时”有关。不管那可能意味着什么。使用 View > Other Windows > Document Outline 解决 Z 顺序和容器所有权问题。

标签: c# forms winforms visual-studio controls


【解决方案1】:

如 cmets 中所述,您需要检查控件的 z 顺序。

在下图中,您可以看到我创建的带有两个按钮和一个面板的表单,正如您所描述的。两个按钮都不是面板中的一个,但是 button 3 具有将其置于顶部的 z 顺序,就像 panel 位于 button 2 顶部一样em>

如果您右键单击要更改 z 顺序的控件,则会看到 置于前面置于后面。选择适当的选项。

【讨论】:

    猜你喜欢
    • 2012-10-20
    • 1970-01-01
    • 1970-01-01
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 2021-02-12
    • 1970-01-01
    • 2021-02-24
    相关资源
    最近更新 更多