Visual Basic.NET - manejo de formularios

 
Vista:

manejo de formularios

Publicado por Frezer (62 intervenciones) el 24/08/2004 20:30:32
hola,

tengo dos formularios.

uno con 3 funciones (subir, bajar, quieto).
al derle click a un boton del formulario, muestra el otro formulario
este formulario tiene 6 botones al darle click a cualquier boton necesito que me llame una de las funciones del primer formulario.

cualquier ayuda gracias..

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:manejo de formularios

Publicado por Edgar (1501 intervenciones) el 24/08/2004 20:42:48
Hola

Lo que puedes hacer es pasarle una refrencia al primer formulario despues de crear el segundo... esto lo haces colocando una propiedad.. la idea es que hagas algo más o menos asi

Dim f as new Form2
f.FormPadre = Me
f.Show()

Luego, al seleccionar cualquier boton, lo que debes hacer es invocar el método que necesitas.. esto es algo asi

Me.formPadre.subir()

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manejo de formularios

Publicado por Frezer (62 intervenciones) el 25/08/2004 00:47:36
hola,
gracias pero no entendi,
para que pueda mandar a el formulario este debe ser MDI?

saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manejo de formularios

Publicado por Carlos Escribano Rey (59 intervenciones) el 25/08/2004 08:59:55
Como dice Edgar, tienes que "conectar" ambos formularios. Al llamar el primer formulario al segundo, el primero ya conecta al segundo, pues es, digamos su Padre. Para que el formulario abierto pueda acceder al Padre, puedes hacer dos cosas (Supongamos que el Padre es Form1 y el Hijo Form2):

[1] Establecer una propiedad en el segundo formulario.

En el segundo formulario añades:

Private _MiPadre as Form1
Public Property FormularioPadre() As Form1
Get
Return _MiPadre
End Get
Set(ByVal Value as Form1)
_MiPadre = Value
End Set
End Property

Y cuando instancies el Form2, suponiendo que lo haces desde Form1:

Dim MiForm2 as New Form2()
MiForm2.FormularioPadre = Me

[2] Pasar el Padre en el constructor del segundo formulario.

Private _MiPadre as Form1

Añades al Form 2 en el constructor:

Public Sub New(byval Padre as Form1)
MyBase.New()

... ' Todo lo que viene por defecto en el constructor

_MiPadre = Padre
End Sub

En cualquier caso, cuando desde el Form2 quieras ejecutar métodos de Form1, utilizas _MiPadre.MiMetodo()

No se si he metido la pata con la sintaxis. Elige el método que más te guste y a por ello. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manejo de formularios

Publicado por Frezer (62 intervenciones) el 25/08/2004 15:46:38
hola,
esta bien ese codigo pero funciona cuando llamo la forma2 desde la forma1, pero cuando la llame desde la forma3, o la forma4 o la formaetc..?
lo que quiero realizar es un formulario de busqueda de registros, y que este retorne los valores al formulario que lo llamo,

gracias..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manejo de formularios

Publicado por Edgar (1501 intervenciones) el 25/08/2004 16:04:48
Hola

Bueno.. una solución puede ser la siguiente... la forma 2 la muestras modal (con el ShowDialog), y en vez de invocar al formulario 1 desde el 2, lo que haces es colocar una propiedad en el formulario 2 que te indique cual es la opción seleccionada...

Por ejemplo, en el form2 creas una propiedad llamada resultado, que te devuelve la opción seleccionada (de una enumeracion por ejemplo)

Pues lo que haces en form1 es lo siguiente

Dim f2 as new Form2
f2.ShowDialog()
Dim result as Integer ' El valor devuelto es un entero en mi ejemplo
result = f2.Resultado

Aqui evaluas el resultado y actuas de acuerdo al valor

Espero que te pueda servir...

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manejo de formularios

Publicado por Frezer (62 intervenciones) el 25/08/2004 16:28:18
ok, lo voy a probar, pero ahora tengo otro proble

necesito llenar un combo desde codigo quiero mostrar el nombre del campo pero quiero que me guarde el codigo del campo

en el codigo tengo:

while leer.read
combo.items.add nombrecampo
y al colocarle
combo1.databinding (no se si se escriba asi) codigo campo
al consultar cualquier registro me muestra el codigo del ultimo registro

gracias,
saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:manejo de formularios

Publicado por Edgar (1501 intervenciones) el 25/08/2004 16:38:46
Hola

Si usas DataBinding no utilizes el combo.items.add... al enlazar el combo a través de databinding este automáticamente muestra el campo que le indiques en DisplayMember... Ahora para que te devuelva el valor del código del campo coloca el nombre del campo en ValueMember

Es decir.. tienes que hacer algo asi

combo1.DisplayMember = descripcion
combo1.ValueMember = codigo
combo1.databinding....

Luego, para obtener el valor, usas la propiedad SelectedValue (creo que se llama asi)

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar