How do I determine visibility of a control?

前端 未结 3 2209
温柔的废话
温柔的废话 2021-02-19 20:17

I have a TabControl that contains several tabs. Each tab has one UserControl on it. I would like to check the visibility of a control x on UserControl

3条回答
  •  温柔的废话
    2021-02-19 20:56

    I'm using this code not only checking all the ancestors visible and also who is the root control. Checking a root is needed when the control is not added on the Mainform.

    public static class StratoControlExtension
    {
        public static bool TruelyVisible(this Control control, Control expected_root)
        {
            if (control.Parent == null) { return control == expected_root && control.Visible; }
            return control.Parent.TruelyVisible(expected_root) && control.Visible;
        }
    }
    

提交回复
热议问题