Как определить видимость элемента управления?

У меня есть TabControl , содержащий несколько вкладок. На каждой вкладке есть один UserControl . Я хотел бы проверить видимость элемента управления x на UserControl A из UserControl B . Я решил, что будет достаточно выполнить x.Visible из UserControl B . Как оказалось, в отладчике отображалось false , хотя я явно установил для него true , и он никогда не менялся. Затем я прочитал в MSDN для Control.Visible , что:

Даже если для параметра Visible установлено значение true, элемент управления может быть невидим для пользователя, если он скрыт за другими элементами управления.

Так много к моему удивлению, это не сработает. Теперь мне интересно, как я могу определить, виден ли элемент управления x из другого UserControl . Я бы хотел по возможности избегать использования логического значения. Кто-нибудь сталкивался с этим и нашел решение?

Примечание: Также выясняется, что Control.IsAccessible неверен в этой ситуации.

10
задан SwDevMan81 12 May 2011 в 15:20
поделиться