【发布时间】:2014-02-26 18:57:49
【问题描述】:
我正在使用带有 .NET Framework 4.0 版的 C# Winforms
我有一个面板,其中包含四个标签,所有标签都停靠在面板的顶部。中间的两个标签被隐藏了。
---顶部---
标签一(可见)
标签二 - (不可见)
标签三(不可见)
标签四 - (可见)
---底部---
当点击带有以下代码的按钮时
private void btnShowLabels_Click(object sender, EventArgs e)
{
this.lblTwo.Visible = true;
this.lblThree.Visible = true;
}
标签 2 和 3 出现了,但它们的 z 顺序混淆了,如下所示。
---顶部---
标签一(可见)
标签三(可见)
标签两个 - (可见)
标签四 - (可见)
---底部---
为什么 z 顺序会发生变化,我该如何阻止这种情况发生。
我意识到我可以在 click 事件中使用 BringToFront() 重新排序所有标签,但这感觉有点矫枉过正,尤其是对于更复杂的对接安排。
【问题讨论】:
-
您是否尝试过切换
.visible呼叫的顺序? -
我在研究您的问题时遇到了this post。您是否尝试过使用父级的
Controls集合中的SetChildIndex方法设置每个标签的索引?