title: How can you determine if Control.Visible is set via property or if the value is inherited
body: <p>I need to find a way to determine if the Visible property of a control is set via a property change or if is inheriting it value from its parent.  Using the Reflector, I find that the functions this.GetVisibleCore() and this.GetState() are both internal methods so I cannot call them.</p>
  
  <p>The widgets themselves are created dynamically so I do not want to attach a method to the VisibleChanged event just after the creation of each widget so can try to monitor this property.  If I have to, I guess I will but I am looking for something just a bit more elegant.</p>
  
  <p>Edit</p>
  
  <p>What I really want to know is when I hide the form and go to close it or build the form but keep it hidden, what Visible values are false because the form is hidden and what values are false because they were set to false.  Again I do not want to have to attach a method to each VisibleChanged event of each widget.  I just want to somehow read it off the Control object.</p>