C#找出控件是不是显示在屏幕上[重复]

Posted

技术标签:

【中文标题】C#找出控件是不是显示在屏幕上[重复]【英文标题】:C# Find out if a control is showing on the screen [duplicate]C#找出控件是否显示在屏幕上[重复] 【发布时间】:2014-09-29 08:58:47 【问题描述】:

我在面板中有一个文本框。

如果 TextBow.Visible = true 并且 Panel.Visible = False,

无论如何我可以说文本框虽然可见,但用户实际上并没有看到。

更清晰。

我在一个不可见的面板中有一个可见的文本框。因为面板不可见,但其中的控件是可见的,所以检查文本框的 visibie 属性并没有给我想要的答案。

我真正在寻找的是如何检查用户是否真的可以看到控件。

【问题讨论】:

我看不懂这个问题你能解释一下吗! 这是用于 html5 还是 WPF? WPF... 15 个字符esersers 然后编辑(标记)问题。 【参考方案1】:

也许您可以使用递归方法检查控件的任何父级是否不可见?

如果为 true,则控件是不可见的。如果所有父项都可见,则控件也可见,除非控件本身不可见。

这样的:

    public bool isVisible(Control c)
    
        if (c.Visible == false)
            return false;
        else
            if (c.Parent != null)
                return isVisible(c);
            else
                return c.Visible;
    

【讨论】:

我考虑过这个,但我不确定它的逻辑是如何工作的。 查看我的答案以获取入门示例。不知道是不是正确的代码答案。

以上是关于C#找出控件是不是显示在屏幕上[重复]的主要内容,如果未能解决你的问题,请参考以下文章

更改 PictureBox 控件的显示顺序 [重复]

在 C# 中找出确切的文件类型 [重复]

OpenCV - 在捕获循环中没有显示没有等待键的图像[重复]

如何将页脚保持在屏幕底部[重复]

在Android中的锁定屏幕上显示自定义信息[重复]

C# 窗体,里多个控件布局相对居中