Fehler im Code

Angelika_25

Mitglied
Hallo und zwar habe ich folgendes Problem.
Ich benutze vb2005. Ich habe ein Formular mit einer TextBox und einem ListView und einem "Zurück" Button.
Sobald ich etwas in die TextBox eingegeben habe, läuft ein Timer. Dazu habe ich folgenden Code:
Code:
  Private WithEvents timer2 As New Timer
    Private oText As String = ""

 Private Sub timer2_Tick(ByVal sender As Object, ByVal e As _
    System.EventArgs) Handles timer2.Tick
        If TextBox.Text <> "" Then
            If oText = TextBox.Text Then
                timer2.Enabled = False
                Speichern()
            End If
        End If
        oText = TextBox.Text
    End Sub
Code:
 Sub Speichern()
        If IO.Directory.Exists("\Test\test\") = False Then
            IO.Directory.CreateDirectory("\Test\test\")
        End If
        Dim sr As New IO.StreamWriter("\Test\test\file.txt", _
        True)

        Dim dt As DateTime = Now
        Me.Text = dt.ToString("yyyyMMddHHmmss")


        sr.WriteLine(Label1.Text & "|010|" & TextBox.Text & "|" & Me.Text)
        ListView.Items.Insert(0, Label1.Text & "|*|" & TextBox.Text & "|" & Me.Text)
        ListView.Update()

        sr.Flush()
        sr.Close()
        TextBox.Text = ""
    End Sub
Code:
 Private Sub TextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox.TextChanged
       timer2.Interval = 5
        timer2.Enabled = True
    End Sub
Der Code funktioniert auch so gut, nur das Problem ist, dass wenn ich auf den Zurück Button klicke, diese Fehlermeldung bei dieser Zeile kommt:
Code:
If TextBox.Text <> "" Then

"System.ObjectDisposedException"
Ich weiß leider überhaupt nicht, was damit gemeint ist.
Was ist denn an meinem Code falsch?
 
Mein Zurück Button öffnet ein neues Formular und schließt das aktuelle:
Code:
 B = New Form1()
 B.Show()

Me.Close()

Mehr habe ich da gar nicht drin stehen.

Was bedeutet das, dass meine TextBox "disposed" wurde?
 
Wenn du den Timer stoppst bevor du das machst, sollte die Exception nicht mehr auftreten. Beim schließen der Form werden deine Controls "zerstörrt", und auf eine nicht mehr vorhandene Textbox kann im Timer nicht mehr zugegriffen werden.
 

Neue Beiträge

Zurück