gpt4 book ai didi

c# - 如何检查用户控件是否在 C# 中的其他控件前面?

转载 作者:太空狗 更新时间:2023-10-29 21:25:17 25 4
gpt4 key购买 nike

如何检查用户控件是否在其他人的前面?有简单的方法吗?我在单击用户控件时使用了 bringToFront 方法,但现在我需要确定它现在是否在前面。

最佳答案

如果您只想知道哪个控件位于父集合的前面,只需执行以下操作:

private bool IsControlAtFront(Control control)
{
return control.Parent.Controls.GetChildIndex(control) == 0;
}

请注意,Z-Index 0最顶层 控件,数字越高,它在层次结构中的越低

此外,上面的代码目前仅适用于单个父项中的控件。它还需要递归地检查父级也在 z-index 0 处。

这将适用于表单中任何位置的任何控件:

private bool IsControlAtFront(Control control)
{
while (control.Parent != null)
{
if (control.Parent.Controls.GetChildIndex(control) == 0)
{
control = control.Parent;
if (control.Parent == null)
{
return true;
}
}
else
{
return false;
}
}
return false;
}

关于c# - 如何检查用户控件是否在 C# 中的其他控件前面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3299283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com