2012-04-15 9 views
0

私は、というListBoxに、テキストファイルから取得したアクティビティのリストを表示しています。今私がしたいのは、ユーザーがTextBoxコントロールに入力した単語 "ホッケー"を検索し、その検索文字列を含むアクティビティのみをListBoxに表示することです。テキストファイル内のC#でのリストボックスへの単語

答えて

2

質問は十分にあいまいですが、情報がポストから得た考えると、私はこのパターン(擬似コード)に従うと言うでしょう。このような

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

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

何か。私は推測

+1

既にファイルからデータを読み込んでいて、すでにListBoxにバインドされているようです。ファイルの読み込み操作を混在させたコードも、私の見解ではUIの更新がうまく見えないように見えますが、UIのものから低レベルのファイル読み込み機能を分離しないのはなぜですか? – sll

+0

@sll:正直なところ、あまり明確ではない..どちらの場合も、 – Tigran

0

非常に簡単:

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; 
} 

基本的な考え方は、リストボックスの最初の項目をキャッシュし、それをクリアして、テキストボックスに入力した文字列に応じて記入することです。

関連する問題