Well, here's the answer I was looking for:- "Visible" and "IsVisible" properties just check that the checkbox is checked on the web part properties, and don't take in consideration if the web part is hidden on sub pages or for certain document types.
- There is a bug in "HideInCurrentPage" and "HideOnSubPages" that doesn't take into account a web part's parent zone.
This code works for me:
if (!this.HideOnCurrentPage && !this.ParentZone.HideOnCurrentPage)
{
// execute custom web part code here
}
I still don't think I should have to do this check.