Public Sub New()

25/05/2006 - 06:26 por Sergio | Informe spam
Estimados Amigos, tengo la siguiente duda y espero puedan ayudarme

Para que sirve el procedimiento Public Sub New() ?????????, con o sin este
procedimiento la aplicacion funciona, pero lei que debe ir, y en varios
codigos
fuente que baje lo vi colocado en cada formulario.
Mi pregunta es, afecta que este o no este este procedimiento???, tiene
relacion
con el evento LOAD?????
El procediemiento public Sub New debe ir en cada formulario??????
El siguiente es el codigo con el que arranca mi proyecto, esta bien???

Public Sub New()
InitializeComponent()
End Sub

Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Me.AcceptButton = Me.Botonbuscar
Me.CancelButton = Me.Botoncerrar
Me.ControlBox = False

End Sub

Muchas Gracias y si esta mal algo del fragmento de codigo, se agradece que
lo comenten

Preguntas similare

Leer las respuestas

#1 Alberto Poblacion
25/05/2006 - 08:24 | Informe spam
"Sergio" wrote in message
news:
Para que sirve el procedimiento Public Sub New()



Se llama "Constructor".

Cuando creas una instancia de una clase (haciendo variable=New
LaClase()), se ejecuta siempre lo primero el Sub New que exista dentro de
LaClase. Normalmente se utiliza para inicializar las variables de clase que
necesiten tener un valor concreto antes de empezar a usar la clase.
El Sub New de los Windows Forms se usa para llamar a la rutina
InitializeComponent, que lo que hace es "pintar" el formulario (colocarle
los botones, textboxes, etc.).
Respuesta Responder a este mensaje
#2 Luis Miguel Blanco
25/05/2006 - 08:31 | Informe spam
Hola Sergio

El procedimiento/método New() dentro de una clase representa el constructor
de la misma, es decir, el primer método que se ejecuta cuando dicha clase es
instanciada, por lo que se utiliza en muchas ocasiones para labores de
inicialización del objeto creado.

No es un método de escritura obligatoria, no sería problema si no lo
escribes en tu clase, ya que el CLR llama al constructor de la clase base, o
mejor dicho, a todos los constructores en el árbol de jerarquía de la clase,
comenzando por la clase Object, que representa a la clase a partir de la que
derivan todas las demas en la plataforma .NET, de ahí que en el constructor
encuentres la sentencia "MyBase.New()" como llamada al constructor padre.

En el caso de la clase Form, es necesario que haya en alguna parte del mismo
el código que se ocupe de configurar el propio formulario y crear sus
controles, por lo que esta labor se hace en el constructor de la clase,
llamando a su vez a un método con el nombre InitializeComponent() que es el
encargado de estas labores.

A modo de ejemplo, prueba a diseñar un formulario con varios controles, a
continuación entra en el código de su clase y comenta la llamada a
InitializeComponent(), ejecuta el formulario y verás como aparece sin
controles, por lo que es algo que sí afecta.

El evento Load() ocurre después de la creación/instanciación del formulario,
y en él puedes añadir tu código propio para realizar operaciones de
preparación del formulario antes de que este sea presentado al usuario.

El código que acompañas a mi modo de ver es correcto, ya que en el
constructor llamas al método de inicialización de controles, y después en el
evento de carga, configuras algunos de esos controles.

Espero que estos comentarios te sirvan de ayuda.
Un saludo
Luis Miguel Blanco
http://www.dotnetmania.com


"Sergio" wrote:

Estimados Amigos, tengo la siguiente duda y espero puedan ayudarme

Para que sirve el procedimiento Public Sub New() ?????????, con o sin este
procedimiento la aplicacion funciona, pero lei que debe ir, y en varios
codigos
fuente que baje lo vi colocado en cada formulario.
Mi pregunta es, afecta que este o no este este procedimiento???, tiene
relacion
con el evento LOAD?????
El procediemiento public Sub New debe ir en cada formulario??????
El siguiente es el codigo con el que arranca mi proyecto, esta bien???

Public Sub New()
InitializeComponent()
End Sub

Private Sub frmMain_Load(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles MyBase.Load

Me.AcceptButton = Me.Botonbuscar
Me.CancelButton = Me.Botoncerrar
Me.ControlBox = False

End Sub

Muchas Gracias y si esta mal algo del fragmento de codigo, se agradece que
lo comenten
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida