【发布时间】: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