2012-04-15 11 views
0

Ich habe eine ASP.NET ListBox, die eine Liste der Aktivitäten aus einer Textdatei angezeigt. Nun möchte ich Wörter suchen, zum Beispiel "Hockey", die vom Benutzer in einem TextBox Steuerelement eingegeben werden, und in der ListBox nur die Aktivitäten anzeigen, die diese Suchzeichenfolge enthalten.C# Suche in einer Textdatei Wörter zu einer Listbox

Antwort

2

Die Frage ist vage genug, aber wenn man bedenkt Informationen bekam von der Post, ich würde dieses Muster sagen folgen (a Pseudo-Code):

using (StreamReader sr = new StreamReader(filepath)) 
{ 

     while (sr.Peek() >= 0) 
     { 
      string fileLine = sr.ReadLine(); 
      if(fileLine .Contains("hockey")) 
       DisplayInListBox(fileLine); 
     } 
} 

Etwas Ähnliches.

+1

Sieht aus, als ob er bereits Daten aus einer Datei gelesen hat, da sie bereits an eine ListBox gebunden ist. Auch Code, der zu den Dateileseoperationen ein UI-Update gemischt hat, sieht aus meiner Sicht nicht ganz gut aus, warum sollte man die Low-leve-Dateilesefunktion nicht von UI-Dingen trennen? – sll

+0

@sll: um ehrlich zu sein, nicht sehr klar .. Ursache in beiden Fällen spricht er über "Aktivitäten" – Tigran

0

ziemlich trivial Ich denke:

var items = //listBox1.Items; 
private void textBox1_TextChanged(object sender, EventArgs e) 
{ 
    listBox1.Items.Clear(); 

    foreach (object s in items) 
    { 
     if (s.ToString().Contains("hockey")) 
      listBox1.Items.Add(s); 
    } 

    if (listBox1.Items.Count > 0) 
     listBox1.SelectedIndex = 0; 
} 

Die Grundidee ist listbox anfängliche Elemente zwischenzuspeichern, und es zu löschen und dann füllen Textbox nach Zeichenfolge eingegeben haben.

Verwandte Themen