Pregunta:
¿Ayuda en Visual Basic .NET ?
ABV
2010-05-21 08:28:44 UTC
es una investigación teórica, y una de las preguntas es: tres formas de pasar un valor entre dos formularios en VB .net; por favor, expliquen claramente, y sin ejemplos complicados. Más bien quisiera una explicación teórica y su ejemplo sencillo, gracias!!!!!!
Tres respuestas:
anonymous
2010-05-21 09:13:30 UTC
1. Para pasar valores desde un form principal a uno que se crea desde éste (de padre a hijo). En el constructor del formulario que se manda llamar, agregar un parámetro del tipo de valor que se desea y en el constructor asignar el valor a una variable general o una propiedad.

Ejemplo:

Public Class Form2

Dim MiVariable As Integer



Public Sub New(valor As Integer)

MiVariable = valor

InitializeComponent()

End Sub

End Class



2. Para pasar valores desde un form creado a el principal que lo creó (de hijo a padre). Declaras una variable pública de cualquier tipo y en algún método le asignas un valor. En el form principal creas el objeto del form hijo y lo muestras con el método ShowDialog() para que no corra el hilo hasta que no se cierre el form hijo; y en la siguiente línea le puedes asignar el valor de su propiedad (que creaste) a una variable del mismo tipo.

Ejemplo:

Public MiVariable As Integer

Private Sub MiMetodo()

MiVariable = 150

End Sub



y en el padre quedaría algo así:

MiFormHijo.ShowDialog()

Dim variable As Integer

variable = MiFormHijo.MiVariable



3. Mezclando las dos anteriores puedes pasar datos en ambos sentidos incluso con un form puente (que sería el principal)



Suerte
Pablo
2010-05-21 19:50:11 UTC
hay tres formas de hacerlo jejeje

mira la primera es pasarla por referencia a mi no me gusta Visual Basic pero te pongo un ejemplo en C#



tienes un form llamado

padre y otro hijo y quieres pasarle por ejeplo un string

lo qu ehaces es lo siguiente

dentro de tu form padre podrias poner esto



Hijo hijo = new ("Hola Padre");

hijo.Show();



pero para que esto tenga efecto tu formulario hijo en su contructor debe de recibir un parametro de entrada



en C# los constructores de lso form son asi



public Hijo(string variable)

{

InitializeComponent();



}



y ya tienes el valor del formulario padre



ahora como dcien en los otros post que hagas una varible global (ESTO ESTA MAL Y NO SE DEBE DE HACER YA QUE EN LA PROGRAMCION ORIENTADA A OBJETOS NO DEBES DE TENER GLOBALES )



si lo puedes hacer pero para sintaxis esa mal hecho y violas una ley de la programacion orientada a objetos

un ejmplo seria



en tu form padr epones esto



public static Padre pad;

en tu constructor pones esto



public Pendiente()

{

InitializeComponent();

Padre.pad = this;

}



ahora declaras una variable por ejemplo string de esta forma



public string prueba="hola";



listo ya tienes la referencia

ahora en tu form hijo la madnas a llamar de la siguiente forma



Padre.pad.prueba y listo ya puedes accesar al valor



Ahora la tercera solucion que es la mas recomendada es uqe tendas una propidad



Por ejemplo



Creas una clase





y delcaras una variable

string de la siguiente forma



string prueba="holaClase";



ahora lo que haras

es hacer que los forms tengan accso a esa variable y lo haras con una propiedad





public string Prueba

{

get { return prueba; }

set { prueba = value; }

}



ahora ya que tienes esa propiedad desde tu formulario padre o hijo la puedes mandar a llamr de la siguiente forma





en tu form padre tienes un variable string entonces haces esto



Clase clas= new Clase();



string nombre_de_tu_variable=clas.prueba;

y listo con eso obtrienes el valor de la variable de tu clase

para ponerle valor

es de la siguiente forma



cla.prueba="Prueba de mi propiedad";



espero haberte ayudado



yo te recomiendo que uses la tercera opcion te sera mucho mas facil y llevaras un mejor orden y podras reutilizar tu codigo



cualquier duda hasmela saber saludos
CRUSHER
2010-05-21 19:19:21 UTC
Hola aca va la respuesta



1.- Declarando una variable publica en un form eso significa que todos los fornularios la ven solo debes invocarla y darle el valor



2.- Por medio de metodos o funciones un metodo para recibir y otro para enviar, cada metodo en un formulario difrerente



3.- Usando un modulo o module es un archivo de una solucion en el cual las variables q declaras son publicas y todos las pueden ver



Disculpa que no te coloque los ejemplos en codigo pero ya no programo en VB.NET desde hace mucho pero yo usaba estas formas para enviar datos, ahora soy C# si me preguntas en ese lenguaje ahi si te pongo ejemplos xD es que da un poco de flojera recordar o buscar en algun codigo que tengo por ahi guardado sorry.



Espero haberte ayudado


Este contenido se publicó originalmente en Y! Answers, un sitio web de preguntas y respuestas que se cerró en 2021.
Loading...