Visual Basic.NET - leer y actualizar valor de una variable publica en un form

 
Vista:
sin imagen de perfil

leer y actualizar valor de una variable publica en un form

Publicado por manuel (1 intervención) el 04/10/2012 11:42:08
Quiero leer y actualizar el valor de una varible publica en un formulario
mi codigo es el siguiente

codigo en el formulario:

Public Class Form1
Public Accion As String

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
PrepararFormulario(Me)
'desde aqui llamo al procedimiento pasandole como parametro el formulario actual
End Sub
End Class

Codigo en el modulo:

Public Sub PrepararFormulario(ByVal Frm As Form)
Dim Left As Integer = 0
Dim Top As Integer = 0
Frm.Location = New Point(Top, Left)
'Esto tampoco funciona, cada vez que abro el formulario, lo va desplazando

Frm.accion = "NINGUNA"
'aqui da un error
'accion' no es un miembro de 'System.Windows.Forms.Form'.
End Sub

Public Sub RevisarFormulario(ByVal Frm As Form)
If Frm.accion = "NINGUNA" Then
'mismo error
'accion' no es un miembro de 'System.Windows.Forms.Form'.

End If
End Sub

La idea es hacer un procedimiento que sirva para todos los formularios
en la llamada, solo le paso el formulario

PrepararFormulario(Me)

si en vez de
Frm.accion = "NINGUNA"
le paso
Form1.Accion = "NINGUNA"
eso funciona

pero claro, yo no se cual de todos los formularios ha llamdo al procedimiento

Espero haberme explicado bien
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

leer y actualizar valor de una variable publica en un form

Publicado por Alejandro (1 intervención) el 09/10/2012 15:37:10
Buenas, Manuel,

creo que, para hacer lo que quieres, y tal y como te has planteado el código, tendrías que crear una clase (yo la crearía virtual) que tuviese la propiedad "Accion".

Haría que esta clase heredara de la clase Form. Imagínate que la llamas MyForm (porque contendría todas las propiedades o métodos que quisieras en la clase Form y que esta no tiene).

Sería la clase MyForm el tipo del parámetro que esperaría la rutina RevisarFormulario.

Por lo demás, creo el codigo está bien planteado.

Para este tipo de soluciones también se suelen emplear las Interficies. Yo las interficies sólo las uso para hacer adaptaciones de clases, no para hacer ampliaciones.

Ya dirás cómo va la cosa.
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