c# - 保持控制始终位于首位

标签 c# .net winforms z-order

是否可以使控件(Panel)始终高于所有其他控件,即使它们也使用Control.BringToFront()

我厌倦了使用 BringToFront 本身,但如果此控件下的另一个控件也使用此命令,则似乎会失去其有效性。

最佳答案

如果您尝试解释一下您想要实现的目标,将会有所帮助。然后我们也许能够更好地说服您,您正在做一些非常错误的事情:)

无论如何,无论你使用什么技巧,其他控件都可能使用相同的技巧来覆盖你。

例如,您可以通过处理父控件的 Layout 事件来强制控件回到前面,从而向前迈出一步。当子控件的 Z 顺序更改时,会触发 Layout 事件(以及其他事件)。

private void Form1_Layout(object sender, LayoutEventArgs e)
{
    panel1.BringToFront();
}

关于c# - 保持控制始终位于首位,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16033335/

相关文章:

c# - 我可以将一个类标记为不是我的代码以便调试器跳过它吗?

c# - 字典、列表还是数组?

c# - 如何对 Service Fabric 应用程序进行版本控制和分离?

c# - 如何通过 Javascript 或 Jquery 调用代码隐藏中的方法

c# - 读取二进制文件并使用 Response.BinaryWrite()

c# - 使用 Linq 根据 Values 自定义对象的属性过滤 Hashtable

c# - "The calling thread must be STA, because many UI components require this."WPF

c# - 如何检查用户输入的格式是否正确

c# - 在表单加载时使用进度条

c# - Winforms ToolTip 获取和更改所有分配的工具提示