manipular formulario desde un formulario modal

Iniciado por jhct, 17 Septiembre 2009, 18:16 PM

0 Miembros y 1 Visitante están viendo este tema.

jhct

hola... como puedo manipular un formulario  desde otro formulario modal, el formulario modal es invocado desde el primer formulario, se que si en el primer formulario pongo codigo(despues del codigo q invoca al modal) que por ejemplo tome los valores que tienen algunos controles en el formulario modal, al cerrar el formulario modal continua con la ejecucion de ese codigo, pero lo que tengo en mente es no cerrar el formulario modal, por ejemplo en el formulario modal registro un cliente y en el formulario que invoca al modal lista los clientes(una grilla) en cuanto agregue un cliente desde el formulario modal que el primer formulario liste denuevo los clientes y me muestre el nuevo cliente agregado pero sin tener que cerrar el modal...

Atrum

Pues para lograr la comunicacion entre formularios debes de declarar miembros publicos en las respectivas clases, ya sean metodos o variables.

Te pongo un ejemplo hecho en VS 2008 donde se comunican 2 forms

Referencia:

El form1 contiene

un check box con nombre CheckBox1
un boton con nombre Button1

El form2 contiene

un text box con nombre TextBox1
un boton con nombre Button1

aqui esta el codigo del form1

Código (vbnet) [Seleccionar]

Public Class Form1
    Public Forma2 As New Form2 'Aqui esta la declaracion publica del form2

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Forma2.Show()
    End Sub

    Public Sub Check() 'Esta es la funcion publica que puedes llamar desde cualquier otro form
        Me.CheckBox1.Checked = Not Me.CheckBox1.Checked
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Forma2.Click_Boton() 'Aqui llamamos una funcion publica de el form2
    End Sub

End Class



Codigo del form2

Código (vbnet) [Seleccionar]

Public Class Form2

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Form1.Check() 'Llamamos a la funcion publica del form1
    End Sub

    Public Sub Click_Boton() 'aqui nuestra funcion publica
        Me.TextBox1.Text = "Boton en otro form"
    End Sub
End Class


ahora, si corres este ejemplo y haces click en el boton del form1 veras que aparece un texto en el textbox del form2, y si haces click en el boton del form2 el Checkbox del form1 estara marcado o desmarcado cada ves que lo presiones, pues ya con esto puedes mandar cualquier variable o objeto a cualquier otro form, e inclusive desencadenar eventos.

Espero no haber entendido mal, ojala te ayude