none
¿Qué parte del código modifico para poder pasar un parámetro al cargar un formulario?

    Pregunta

  • Quiero hacer lo siguiente:

          Using forFormulario As New MiFormulario
            Application.Run(forFormulario(MiParametro))
          End Using

    Me parece que eso se hace en el código de diseño del formulario, pero cómo exactamente?

    (En VB Net porfa)
    • Editado James-2016 domingo, 30 de octubre de 2016 22:21
    domingo, 30 de octubre de 2016 22:18

Respuestas

  • Hola James-2016,

    Puedes hacer uso del Constructor para enviar "X" parámetros.

    Algo como :

       Dim MiParametro As String = "Algo.."
    
       Using forFormulario As New MiFormulario(MiParametro)
          forFormulario.ShowDialog()
       End Using

    Y en el formulario MiFormulario se crea una variable que almacene el valor del parámetro y poder usarlo en ese form.

        Dim dato As String 'Almacenará el valor
    
        'Constructor
        Sub New(ByVal parametro As String)
            InitializeComponent()
    
            dato = parametro
        End Sub
    
        Private Sub MiFormulario_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            TextBox1.Text = dato
        End Sub

    Aquí la misma técnica usada pero más detallada.

     Problemas con generar backup desde un formulario

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta James-2016 domingo, 30 de octubre de 2016 23:36
    domingo, 30 de octubre de 2016 22:31

Todas las respuestas

  • Hola James-2016,

    Puedes hacer uso del Constructor para enviar "X" parámetros.

    Algo como :

       Dim MiParametro As String = "Algo.."
    
       Using forFormulario As New MiFormulario(MiParametro)
          forFormulario.ShowDialog()
       End Using

    Y en el formulario MiFormulario se crea una variable que almacene el valor del parámetro y poder usarlo en ese form.

        Dim dato As String 'Almacenará el valor
    
        'Constructor
        Sub New(ByVal parametro As String)
            InitializeComponent()
    
            dato = parametro
        End Sub
    
        Private Sub MiFormulario_Load(sender As Object, e As EventArgs) Handles MyBase.Load
            TextBox1.Text = dato
        End Sub

    Aquí la misma técnica usada pero más detallada.

     Problemas con generar backup desde un formulario

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta James-2016 domingo, 30 de octubre de 2016 23:36
    domingo, 30 de octubre de 2016 22:31
  • Hola, ok, se modifica el constructor para pasarle los parámetros, con la respuesta anterior resuelvo lo que trato de hacer.

    Aprovecho para hacer una consulta, no me queda claro cómo es que se crea el formulario normalmente, entiendo que se crea a través del constructor??? dónde se ejecuta este por defecto? una explicadita porfa.

    domingo, 30 de octubre de 2016 22:51
  • Hola James-2016,

    En realidad el constructor no es más que un bloque de código que se ejecuta cada vez que se crea una nueva instancia de una Clase "X" (usando la palabra reserva = New MiClase) el cual por defecto es vacío.

    Default :

        Sub New()
            InitializeComponent()
        End Sub

    Cuando se crea la instancia del formulario internamente se ejecuta el constructor el cual (el código anterior) hace un llamado al método InitializeComponent() para ejecutar las instrucciones y/o configuraciones de los controles.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    domingo, 30 de octubre de 2016 23:14
  • ok, muchas gracias.
    domingo, 30 de octubre de 2016 23:36