title: When a user control has Browsable false on public property, why does designer set it to null when added to a form?
body: <p>I have a user control that has a few public properties, one is an object where I set [Browseable(false)]. When I add this control in Visual Studio's designer the generated code sets this object to null.</p>
  
  <pre><code>public class Foo : System.Windows.Forms.UserControl
  {
      [Browsable(false)]
      public object Bar { get; set; }
  
      [Browsable(true)]
      public bool IsSomething { get; set; }
  
      ...
  }
  
  private void InitializeComponent()
  {
      ...
      this.foo = new Foo();
  
      this.foo.IsSomething = false;
      this.foo.Bar = null;
      ...
  }
  </code></pre>
  
  <p>I don't understand why Visual Studio would want to do that and I'm curious if there is a way to mark it so that it doesn't set it. I discovered this by setting the object to something in the constructor only to watch the contol's parent set it back to null. </p>