Hola de nuevo por estos lares :) se que mi amigo Elecktro se preguntaria por mi jejje
Bueno os cuento a medida que avanzo con mas variables en mi programa me surge un problema si hago las primeras operaciones me salen las cuentas bien,pero la siguiente ves que vuelvo a calcular me encuentro que las cuentas son otras diferentes yo creo que aunque uso un codigo me quedan todas las variables cargadas con el primer calculo y solo borro son los texboxes, esto se corrige cuando cierro el editor y vuelvo a abrir el programa
no se como limpiar las variables sin tener que cerrar todo y empezar de nuevo ;(
Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
For Each obj As Control In Me.Controls
If (TypeOf obj Is TextBox) Then
obj.Text = ""
End If
If (TypeOf obj Is GroupBox) Then
For Each caja As Control In obj.Controls
If (TypeOf caja Is TextBox) Then
caja.Text = ""
End If
Next
End If
ListBox1.Items.Clear()
ListBox2.Items.Clear()
ListBox3.Items.Clear()
ListBox7.Items.Clear()
Next
End Sub
Luis
Es lo que ocurre cuando tienes 100 membros en un mismo código con nombres casi identicos, te lo he dicho mil veces, tanto "resultsss" es un completo lio :-/
Tienes que hacerlo cómo lo estás haciendo, solo que debes fijarte mejor para añadir los controles que falten ya que supuestamente te estás olvidando de limpiar algún control, y por si acaso te diría que añadieses también los objetos públicos que hayas inicializado fuera de los Subs para resetear sus valores.
Ejemplo:
Private Sub Button2_Click_1(ByVal sender As Object, ByVal e As EventArgs) _
Handles Button2.Click
Me.CleanUp()
End Sub
Private Sub CleanUp()
' Tus famosos results y otras variables públicas, cómo se llamen:
Me.Resultss1 = Nothing
Me.Resultss2 = Nothing
Me.Resultss3 = Nothing
Me.VariableInteger = 0
'etc...
' Tus controles:
For Each tb As TextBox In Me.Controls.OfType(Of TextBox)()
tb.Clear()
Next tb
For Each gb As GroupBox In Me.Controls.OfType(Of GroupBox)()
For Each tb As TextBox In gb.Controls
tb.Clear()
Next
Next gb
Me.ListBox1.Items.Clear()
Me.ListBox2.Items.Clear()
Me.ListBox3.Items.Clear()
Me.ListBox7.Items.Clear()
End Sub
Poco más se puede hacer por ayudarte en eso, debes revisarlo tú :P
Cita de: Eleкtro en 20 Marzo 2015, 16:39 PM
Es lo que ocurre cuando tienes 100 membros en un mismo código con nombres casi identicos, te lo he dicho mil veces, tanto "resultsss" es un completo lio :-/
Tienes que hacerlo cómo lo estás haciendo, solo que debes fijarte mejor para añadir los controles que falten ya que supuestamente te estás olvidando de limpiar algún control, y por si acaso te diría que añadieses también los objetos públicos que hayas inicializado fuera de los Subs para resetear sus valores.
Ejemplo:
Private Sub Button2_Click_1(ByVal sender As Object, ByVal e As EventArgs) _
Handles Button2.Click
Me.CleanUp()
End Sub
Private Sub CleanUp()
' Tus famosos results y otras variables públicas, cómo se llamen:
Me.Resultss1 = Nothing
Me.Resultss2 = Nothing
Me.Resultss3 = Nothing
Me.VariableInteger = 0
'etc...
' Tus controles:
For Each tb As TextBox In Me.Controls.OfType(Of TextBox)()
tb.Clear()
Next tb
For Each gb As GroupBox In Me.Controls.OfType(Of GroupBox)()
For Each tb As TextBox In gb.Controls
tb.Clear()
Next
Next gb
Me.ListBox1.Items.Clear()
Me.ListBox2.Items.Clear()
Me.ListBox3.Items.Clear()
Me.ListBox7.Items.Clear()
End Sub
Poco más se puede hacer por ayudarte en eso, debes revisarlo tú :P
Muchas veces temo preguntar, por los regaños tuyos :)
gracias elektro :)
Luis
Ostias me pateo el ordenador jejejj , es broma con los controles no hay problemas pero con las variables me sale este error
"resultss3' no es un miembro de 'WindowsApplication1.Form1'.
Npi
Luis
Cita de: luis456 en 20 Marzo 2015, 17:14 PM"resultss3' no es un miembro de 'WindowsApplication1.Form1'.
Por qué resultss3 no es pública, es un miembro inaccesible ya que la declaras DENTRO de un Sub y su tiempo de vida es solo ese.
Resetea las que declares FUERA de los Subs.
Saludos!
Cita de: Eleкtro en 20 Marzo 2015, 17:26 PM
Por qué resultss3 no es pública, es un miembro inaccesible ya que la declaras DENTRO de un Sub y su tiempo de vida es solo ese.
Resetea las que declares FUERA de los Subs.
Saludos!
Perfecto profesor :) otra cosa que aprendi con esta programacion gracias a ti
hasta otra :)
Luis