Soy bastante nuevo en vb.net, y el desarrollo de formularios de Windows como un todo, por lo que esto podría ser muy básico, pero aquí va.constructores personalizados para formularios en vb.net: Mejores prácticas
Me gustaría abrir un nuevo formulario de otra forma, y pasar algún objeto seleccionado de un control en ese formulario al nuevo formulario. La forma sensata de hacer esto, pensé, era como un parámetro para el constructor de formularios. Ahora sé que la GUI del Visual Studio crea clases parciales para mis formularios, que contienen las propiedades que puedo arrastrar allí en el diseñador. Supongo que también tiene un constructor predeterminado. Ya que podría hacer todo tipo de cosas que se necesita para inicializar el formulario, que pensé que debería llamarlo desde mi constructor de encargo ala
public sub new(byval my_parameter as Foo)
Me.new()
Me.my_parameter = my_parameter
do_some_initialisation()
end sub
que claramente no era él, porque no puede encontrar un constructor por defecto . El caso es que Visual Studio hace todo lo posible para evitar que vea el constructor generado, así que sé cómo acceder a él. Esto me lleva a creer que, en realidad, lo estoy haciendo mal, y debería haber emprendido un camino diferente, ya que la ruta a la que te obligan a hacerlo suele ser lo más sensato, lo que normalmente descubro demasiado tarde.
Entonces, ¿cómo debería estar haciendo algo como esto?
+1 para brevitas – Martijn
Combinding esto con el aswer a continuación: Si llamo 'MyBase.New()', hacer todavía tengo que llamar 'InitializeComponent()'? – Martijn
El constructor de formulario predeterminado normalmente lo llama. TBH tu código está bien si solo eliminas la línea Me.new(). Simplemente estaba mostrando cómo llamar correctamente a un constructor base. –