Visual Basic.NET - pasar datos de un formulario a otro que esta contenido en panel

 
Vista:

pasar datos de un formulario a otro que esta contenido en panel

Publicado por juan (1 intervención) el 01/05/2018 23:32:23
buen dia
estoy trabajando con Efecto Slider Menú para pasar mis formularios a un panel

tengo dos formularios PRODUCTOS Y CATEGORÍAS desde productos llamo categorías con un button y en CATEGORIAS desde un datagridview selecciono la categoría y al dar doble click mando la clave y nombre de categoría a Txtclave y Txtcategoria del formulario productos

con esto no hay problema mientras PRODUCTOS no esté contenido en el panel
pero si PRODUCTOS esta contenido en el panel y mando a llamar CATEGORIAS desde un button al dar doble click en el datagridview los datos ya no pasan al formulario PRODUCTOS
mi pregunta es como hago para pasar los datos de categorías a productos usando el formulario contenido en el panel
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
Imágen de perfil de giancarlo
Val: 859
Plata
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

pasar datos de un formulario a otro que esta contenido en panel

Publicado por giancarlo (407 intervenciones) el 02/05/2018 19:57:01
habría que ver como está tu codigo, pero me parece que algo asi:
1
2
dim ventana as new tuFormulario
tuFormulario.txtproducto=0000000

pero debería ser asi:

1
2
dim ventana as new tuFormulario
ventana.txtproducto=0000000

Cuando le pones new a un formulario, es como si lo estuvieras clonando, es una forma de decir, pero en realidad se llama instanciar, pero si quieres agregar algo ahí debes ir al resultado del new, en el ejemplo, sería la variable ventana
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

pasar datos de un formulario a otro que esta contenido en panel

Publicado por zrfitness (2 intervenciones) el 08/07/2019 14:02:37
buenas tardes, mi comunicado es pedir ayuda, ya que mi caso es igual a este. Tengo un formulario principal llamado Formmenuprincipal, el cual, contiene un panel donde tengo los botones para llamar a los formularios, y otro panel donde se abren los formularios llamados por los botones. Tengo formulario Formarticulos, el cual, se abre dentro del panel, para insertar productos nuevos. Tengo otro formulario Formtipos, en el cual, están los tipos de categorías de los productos, que es llamado por un botón que se encuentra en el formulario Formarticulos. El formulario se abre, pero cuando le doy doble click en el datagridview para pasar los datos de formtipos a formarticulos no se me pasa. Los datos pasados son idcategoria y nombrecategoria para enviarlos al formulario formarticulos en dos textbos, llamados tidtipos y tnombretipos. Seguro que el problema esta en que el formulario formarticulos esta dentro del panel, hay alguna solución para esto.
El código que tengo en el formulario formmenuprincipal para abrir formulario dentro de un panel es el siguiente:

Private Sub AbrirFormEnPanel(Of Forms As {Form, New})()
Dim formulario As Form
formulario = Panelcontenedor.Controls.OfType(Of Forms)().FirstOrDefault()

If formulario Is Nothing Then
formulario = New Forms()
formulario.TopLevel = False
formulario.FormBorderStyle = FormBorderStyle.None
formulario.Dock = DockStyle.Fill
Panelcontenedor.Controls.Add(formulario)
Panelcontenedor.Tag = formulario
formulario.Show()
formulario.BringToFront()
AddHandler formulario.FormClosed, AddressOf Me.CerrarFormulario
Else

If formulario.WindowState = FormWindowState.Minimized Then
formulario.WindowState = FormWindowState.Normal
End If

formulario.BringToFront()
End If
End Sub

Otro código en el boton bproducto que se encuentra en el formmenupricipal para llamar al formulario formarticulo:

Private Sub Bproducto_Click(sender As Object, e As EventArgs) Handles Bproducto.Click
AbrirFormEnPanel(Of Formarticulos)()
Bproducto.BackColor = Color.FromArgb(13, 93, 142)
End Sub

En el formulario formarticulos otro boton al cual llama al formulario formtipos:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Formtipos.Tflap.Text = "1"
Formtipos.ShowDialog()
End Sub


Donde hago doble click en el datagridview para mandar la información al formarticulo:

Private Sub Datalistado_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles Datalistado.CellDoubleClick
If Tflap.Text = "1" Then
Formarticulos.Tidtipos.Text = Datalistado.SelectedCells.Item(1).Value
Formarticulos.Tnombretipos.Text = Datalistado.SelectedCells.Item(2).Value
Me.Close()
End If
End Sub

Todo esto lo he hecho mirando videos tutoriales, pero me ha aparecido es problema y no encuentro solución, si me podrían ayudar se lo agradecería.
Un saludo, 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
Imágen de perfil de Wilfredo Patricio Castillo
Val: 1.315
Plata
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

pasar datos de un formulario a otro que esta contenido en panel

Publicado por Wilfredo Patricio Castillo (618 intervenciones) el 03/05/2018 05:26:22
Lo que tienes que hacer en ambos casos es pasar los datos mediante parámetros en el constructor.

1
2
3
4
5
6
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
    Dim IdProducto As Integer = 12
    Dim NombreProducto As String = "Categoria Primera"
    Dim FProductos As New FrmProductos(IdProducto, NombreProducto)
    FProductos.Show()
End Sub

Para eso el formulario a ser llamado, en este caso productos, debería tener un constructor con parámetros,

Saludos cordiales,
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

pasar datos de un formulario a otro que esta contenido en panel

Publicado por zrfitness (2 intervenciones) el 08/07/2019 14:03:48
buenas tardes, mi comunicado es pedir ayuda, ya que mi caso es igual a este. Tengo un formulario principal llamado Formmenuprincipal, el cual, contiene un panel donde tengo los botones para llamar a los formularios, y otro panel donde se abren los formularios llamados por los botones. Tengo formulario Formarticulos, el cual, se abre dentro del panel, para insertar productos nuevos. Tengo otro formulario Formtipos, en el cual, están los tipos de categorías de los productos, que es llamado por un botón que se encuentra en el formulario Formarticulos. El formulario se abre, pero cuando le doy doble click en el datagridview para pasar los datos de formtipos a formarticulos no se me pasa. Los datos pasados son idcategoria y nombrecategoria para enviarlos al formulario formarticulos en dos textbos, llamados tidtipos y tnombretipos. Seguro que el problema esta en que el formulario formarticulos esta dentro del panel, hay alguna solución para esto.
El código que tengo en el formulario formmenuprincipal para abrir formulario dentro de un panel es el siguiente:

Private Sub AbrirFormEnPanel(Of Forms As {Form, New})()
Dim formulario As Form
formulario = Panelcontenedor.Controls.OfType(Of Forms)().FirstOrDefault()

If formulario Is Nothing Then
formulario = New Forms()
formulario.TopLevel = False
formulario.FormBorderStyle = FormBorderStyle.None
formulario.Dock = DockStyle.Fill
Panelcontenedor.Controls.Add(formulario)
Panelcontenedor.Tag = formulario
formulario.Show()
formulario.BringToFront()
AddHandler formulario.FormClosed, AddressOf Me.CerrarFormulario
Else

If formulario.WindowState = FormWindowState.Minimized Then
formulario.WindowState = FormWindowState.Normal
End If

formulario.BringToFront()
End If
End Sub

Otro código en el boton bproducto que se encuentra en el formmenupricipal para llamar al formulario formarticulo:

Private Sub Bproducto_Click(sender As Object, e As EventArgs) Handles Bproducto.Click
AbrirFormEnPanel(Of Formarticulos)()
Bproducto.BackColor = Color.FromArgb(13, 93, 142)
End Sub

En el formulario formarticulos otro boton al cual llama al formulario formtipos:

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Formtipos.Tflap.Text = "1"
Formtipos.ShowDialog()
End Sub


Donde hago doble click en el datagridview para mandar la información al formarticulo:

Private Sub Datalistado_CellDoubleClick(sender As Object, e As DataGridViewCellEventArgs) Handles Datalistado.CellDoubleClick
If Tflap.Text = "1" Then
Formarticulos.Tidtipos.Text = Datalistado.SelectedCells.Item(1).Value
Formarticulos.Tnombretipos.Text = Datalistado.SelectedCells.Item(2).Value
Me.Close()
End If
End Sub

Todo esto lo he hecho mirando videos tutoriales, pero me ha aparecido es problema y no encuentro solución, si me podrían ayudar se lo agradecería.
Un saludo, 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