Buenas chicos!
A ver, creo que el titulo del post no tiene nada que ver con lo que preguntas, ya que necesitas X instancias nuevas de un objeto.
De todas maneras, cuando uses objetos complejos (como tu PctBox), ten mucho cuidado con las colecciones, listas y matrices y con los parametros de funciones.
Yo si que he tenido que implementar la Clonacion en los objetos, ya que la asignacion en vb.net no es mas que un puntero oculto.
Para clonar un objeto no necesitas mas que:
Public Class Isako
...
Public Function Clone() as Isako
Dim i as New Isako(...)
' Las inizializaciones o manipulaciones que creas que
' debes hacer para dejar el objeto i igual que tu clase
' actual (me)
Return i
End Function
End Class
La llamada cuando necesites crear una instancia nueva de un objeto Isako que ya tienes seria:
...
' Asumiendo que MyPrimerIsako ya esta instanciado
Dim myIsakoQuerido2 as Isako = me.MyPrimerIsako.Clone()
Además, Microsoft proporciona una Interface estandar ICloneable. A mi no me gusta mucho, ya que al ser Estandar el objeto devuelto es un "Object" y t puedes pasar la vida haciendo Casting. Ahora no recuerdo si es heredable, pero esa sera una solucion tambien. Pero volviendo al principio, eh aki la implementacion de la Interface ICloneable:
Public Class Isako
Implements ICloneable
' Codigo añadido automaticamente por el IDE
Public Function Clone() As Object Implements System.ICloneable.Clone
Dim i as New Isako(...)
' Las inizializaciones o manipulaciones que creas que
' debes hacer para dejar el objeto i igual que tu clase
' actual (me)
Return i
End Function
End Class
Como sabras no hay que hacer un Cast de i (tipo Isako) a Object ya que Object es heredado por fuerza por todas las clases, la llamada quedaria:
...
' Asumiendo que MyPrimerIsako ya esta instanciado
Dim myIsakoQuerido2 as Isako = me.MyPrimerIsako.Clone()
Como ves no hace falta un Cast, por lo de siempre. De todas maneras a mi no me gusta nada trabajar con tipos Object.
Bueno ahi queda la cosa, un saludo!