Re: Linq für Suche in Liste nutzen
- From: Petra Müller <PetraM63@xxxxxx>
- Date: Fri, 29 May 2009 18:17:31 +0200
Hallo zusammen,
@ Armin:
Danke für den Hinweis. Ich werde das etwas später in einem anderen Projekt ausprobieren, wo diese "standard-Vorgehensweise" wirklich ausreichen dürfte.
@ Andreas Schmidt:
Daß das gewisse Ähnlichkeit mit einer Auto-Complete Funktion hat ist mir auch schon aufgefallen, aber das soll es in diesem Fall nicht werden.
@ Peter:
Schönes Beispiel, ich werde nachher meine Problemstellung mal mit deinem Ansatz ausprobieren :-) Danke für deine Mühe.
Ich hab in der Zwischenzeit (also bevor ich eure Anmerkungen hier gelesen habe) etwas probiert, was an sich einigermaßen zufriedenstellend läuft. Lediglich bekomme ich ab und an, aber sehr unregelmässig Fehler wegen threadübergreifender Vorgänge, und das obwohl ich versucht habe das abzusichern. Daher noch ein zwei Frage zu dem was ich da getrieben haben:
Private Delegate Sub myDelegate()
Private Sub ToolStripTextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ToolStripTextBox1.TextChanged
If Not myThread Is Nothing Then myThread.Abort() 'Ich weiß, die Brechstange, aber mit den anderen Ansätzen hatte ich Probleme bei der Umsetzung
myThread = New Threading.Thread(AddressOf Search)
myThread.Start()
End Sub
Private Sub Search()
If Me.InvokeRequired Then
Dim d As New myDelegate(AddressOf Search)
Me.Invoke(d)
Else
ListView3.Items.Clear()
ImageList3.Images.Clear()
TabControl1.TabPages(2).Text = "Suche läuft..."
Application.DoEvents()
Dim Daten = From x In ...
For Each RS In Daten
Call AddToListView(RS.FullPath)
Next
TabControl1.TabPages(2).Text = "Suchergebnisse (" & ListView3.Items.Count & ")"
End If
End Sub
Das ganze läuft auf Form1, Me verweist also auf dieses Formular.
1) Reicht es hier nicht aus auf Me.InvokeRequired zu überprüfen? Wie ihr seht spreche ich in der Funktion eine ganze Reihe unterschiedlicher Steuerelemente an, sollte ich da um sicher zu gehen jeden einzelnen Aufruf über einen Delegaten ausführen? (Das sieht dann ja furchbar unübersichtlich aus)
2) Das ganze läuft an sich recht gut, lediglich das hinzufügen der Bilder ins ListView scheint den Zugriff aufs Formular zu behindern / verlangsamen. Habe es schon mit einem ListView3.SuspendLayout / ResumeLayout versucht, aber das scheint gar nichts zu bringen. Kann ich da sonst noch etwas tun?
Werde mir jetzt den Code von dir, Peter nochmal genau anschauen, ob ich den nicht auf mich adaptieren kann.
Viele Grüße,
Petra
.
- Follow-Ups:
- Re: Linq für Suche in Liste nutzen
- From: Peter Götz
- Re: Linq für Suche in Liste nutzen
- Next by Date: Compiler Konstante "Win32"
- Next by thread: Re: Linq für Suche in Liste nutzen
- Index(es):
Relevant Pages
|