VB.NET-Quellcode
- 'Dispose Controls
- For Each control As Panel In FlowLayoutPanel1.Controls
- control.Dispose()
- Next
- If currentCatagory = "erfolge" Then
- If TextBox1.Text.Length = 0 Then 'If nothing
- For Each line In erfolge
- Dim Split = line.split(" ")
- addPanel(Split(0), Split(1), Split(2), Split(3), Application.StartupPath & "/dats" & Split(4))
- Next
- ElseIf TextBox1.Text.Length > 0 Then 'If something
- For Each line In erfolge
- Dim Split = line.split(" ")
- If Split(0).ToString.ToLower.Contains(TextBox1.Text.ToLower) Then
- addPanel(Split(0), Split(1), Split(2), Split(3), Application.StartupPath & "/dats" & Split(4))
- End If
- Next
- End If
- End If
Guten Tag Community,
ich benötige mal wieder eure Hilfe. Dies ist ein von mir geschriebener Code, welcher eigentlich super funktionieren sollte(wenn ich mir das so anschaue). Jedoch funktioniert es nur halb. Es ist ein Code für eine Suchleiste, welcher den ersten Begriff einer Zeile aus einer List() nimmt und den mit der Suchleiste im .ToLower abgleicht. Das Problem ist aber, dass er die Panels nicht richtig disposed. Die Prozedur ist wie folgt(damit ihr es euch verbildlichen könnt):
Ich habe links einen Button, rechts ein FlowLayoutPanel. Im FlowLayoutPanel werden Panels erstellt, welche mir einen Inhalt anzeigen(wird eine Wiki). Die Funktion für die Panels ist auch 100% funktionstüchtig, da bin ich mir sicher. Jedoch, nachdem die Textbox z.B keinen Inhalt hat(.Text.length = 0) zeigt er mir aus irgendeinem Grund, aus nur 3 Vorhandenen Panels ein Duplikat an.
Kann man vielleicht schon am Code einen Fehler erkennen? Ich vermute immer noch, dass die Panels nicht disposed werden. Der Code ist übrigens im Textbox_TextChanged Event.
Wenn ich eine Frage stelle, habe ich sie bereits gegooglet. Ja, es kommt vor, dass ich die Antwort übersehe. Ja, es kommt vor, dass ich sie nicht verstehe. Deshalb bin ich hier. Wenn dies eure Frage war, dann antwortet bitte nicht. Es stiehlt sämtliche Motivation.