- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我在 .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 顺序会发生变化,我该如何阻止这种情况发生。
我意识到我可以在点击事件中使用 BringToFront()
重新排序所有标签,但这感觉有点矫枉过正,尤其是对于更复杂的停靠安排。
最佳答案
设置 Control.Visible = True
有时会更改 Z 顺序。这似乎取决于句柄的创建。
对我来说,这个(显然毫无意义的)声明非常有用:
foreach (Control ctrl in FlpDetails.Controls)
{
IntPtr DummyHandle = ctrl.Handle;
}
它强制所有控件创建句柄。之后 control.visible = true
不再更改 Z 顺序。
我从外部网站获得了该解决方案,该网站现在转发到钓鱼网站。
关于c# - 使停靠控件可见时更改 Z 顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22050658/
如何将 CControlBar 派生窗口停靠到拆分窗口 (CSplitterWnd) 的中间?我希望在移动分离器时重新定位栏。 为了更清楚地说明我所追求的是什么,想象一下 Visual Studio(
我正在使用我认为是在 90 年代初开发的 MFC 代码。我被赋予了将软件带入 21 世纪的艰巨任务,使其能够在 Windows 7/8 之类的系统上运行。该应用程序面向众多平台,其中一个是 Windo
我有一个导航 View ,在导航 View 中我想在导航栏的右侧放置一个按钮 here is sencha fiddle My Fiddle is here 你可以看到我的菜单按钮,我希望该按钮位于右
我创建了以下 fiddle 来说明问题 http://jsfiddle.net/spjvo6g2/ 如何将activelist等子div停靠到父div的顶部垂直对齐
我是一名优秀的程序员,十分优秀!