Principales respuestas
variable public

Pregunta
-
Respuestas
-
Si declaras una variable pública en un formulario tienes que trabajar con ella mediante una instancia de ese formulario.
Por ejemplo si tienes un Form2 con la variable Public x as integer y la quieres tratar desde Form1:
Dim Formulario as New Form2
Formulario.x = 5Mi pregunta es ¿Por qué usas esa variable pública en el formulario? Si se trata de una variable que se trata en toda la aplicación deberás declararla como pública pero en un módulo y si es un valor del formulario al que quieres acceder desde fuera del mismo puedes usar las propiedades :
Public Class Form2
Dim mX as Integer
Public ReadOnly Property x As Integer
Get
Return mX
End Get
End Property...
De esta forma trabajas con una variable mX en el formulario Form2 y accedes a leer el valor de esta propiedad mediante la propiedad Form2.X
En este ejemplo la propiedad se define como de solo lectura (ReadOnly). Si no se indica ReadOnly tendrá también el apartado
Set(value As Integer)
mX = value
End Sety podrás asignarle un valor haciendo Form2.X = 5 por ejemplo.
Saludos, Javier J
- Propuesto como respuesta Pablo Rubio jueves, 28 de diciembre de 2017 16:27
- Marcado como respuesta Pablo Rubio lunes, 1 de enero de 2018 17:21
-
Hola:
Posiblemente porque desde el Form2, no "VE" la instancia del Form1Crea un proyecto con 2 Form
El Form1 tiene 1 Button, copia y pega el siguiente códigoPublic Class Form1
Public x As IntegerPrivate Sub btnForm2_Click(sender As Object, e As EventArgs) Handles btnForm2.Click
x = 10
Using loForm As New Form2
loForm.Padre = Me
loForm.ShowDialog()
End Using
End Sub
End ClassPublic Class Form2
Public Property Padre As Form1Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Text = "EL VALOR DE X ES: " & Padre.x.ToString
End Sub
End Class
Un saludo desde Bilbo
Carlos- Propuesto como respuesta Juan MondragónModerator jueves, 28 de diciembre de 2017 15:41
- Marcado como respuesta Pablo Rubio lunes, 1 de enero de 2018 17:22
Todas las respuestas
-
Si declaras una variable pública en un formulario tienes que trabajar con ella mediante una instancia de ese formulario.
Por ejemplo si tienes un Form2 con la variable Public x as integer y la quieres tratar desde Form1:
Dim Formulario as New Form2
Formulario.x = 5Mi pregunta es ¿Por qué usas esa variable pública en el formulario? Si se trata de una variable que se trata en toda la aplicación deberás declararla como pública pero en un módulo y si es un valor del formulario al que quieres acceder desde fuera del mismo puedes usar las propiedades :
Public Class Form2
Dim mX as Integer
Public ReadOnly Property x As Integer
Get
Return mX
End Get
End Property...
De esta forma trabajas con una variable mX en el formulario Form2 y accedes a leer el valor de esta propiedad mediante la propiedad Form2.X
En este ejemplo la propiedad se define como de solo lectura (ReadOnly). Si no se indica ReadOnly tendrá también el apartado
Set(value As Integer)
mX = value
End Sety podrás asignarle un valor haciendo Form2.X = 5 por ejemplo.
Saludos, Javier J
- Propuesto como respuesta Pablo Rubio jueves, 28 de diciembre de 2017 16:27
- Marcado como respuesta Pablo Rubio lunes, 1 de enero de 2018 17:21
-
Hola:
Posiblemente porque desde el Form2, no "VE" la instancia del Form1Crea un proyecto con 2 Form
El Form1 tiene 1 Button, copia y pega el siguiente códigoPublic Class Form1
Public x As IntegerPrivate Sub btnForm2_Click(sender As Object, e As EventArgs) Handles btnForm2.Click
x = 10
Using loForm As New Form2
loForm.Padre = Me
loForm.ShowDialog()
End Using
End Sub
End ClassPublic Class Form2
Public Property Padre As Form1Private Sub Form2_Load(sender As Object, e As EventArgs) Handles Me.Load
Me.Text = "EL VALOR DE X ES: " & Padre.x.ToString
End Sub
End Class
Un saludo desde Bilbo
Carlos- Propuesto como respuesta Juan MondragónModerator jueves, 28 de diciembre de 2017 15:41
- Marcado como respuesta Pablo Rubio lunes, 1 de enero de 2018 17:22