title: custom constructors for forms in vb.net: Best practices
body: <p>I'm quite new to vb.net, and windows forms developement as a whole, so this might all be very basic, but here goes.</p>
  
  <p>I would like to open a new form from some other form, and pass some selected object from a control on that form to the new form. The sensible way to do this, I thought, was as a parameter to the forms constructor. Now I know that the visual studio GUI creates partial classes for my forms, that hold the properties that I can drag onto there in the designer. I assume it also holds a default constructor. Since it might do all sorts of stuff that is needed to initialise the form, I figured I should call it from my custom constructor ala</p>
  
  <pre><code>public sub new(byval my_parameter as Foo)
    Me.new()
    Me.my_parameter = my_parameter
    do_some_initialisation()
  end sub
  </code></pre>
  
  <p>That clearly wasn't it, because it can't find a default constructor. The thing is, visual studio goes trough great lengths to prevent me from seeing the generated constructor, so I know how to access it. This leads me to believe that I am actually doing it wrong, and should have set out on some different path, as the path you are forced in to usually is the sensible thing to do, which I usualy find out way too late.</p>
  
  <p>So how should I be doing something like this?</p>