2016-10-09 8 views
0
var wordsToHighlight = new List<string>() { "sign ID1:", "user:", "autohotkey", "bloody" }; 

if (!string.IsNullOrWhiteSpace(richTextBox1.Text)) 
    foreach (var word in wordsToHighlight) 
     int index = 0; 

     while (index != -1) 
      richTextBox1.SelectionColor = Color.Red; 
      index = richTextBox1.Find(word, index + word.Length - 1, richTextBox1.TextLength, RichTextBoxFinds.None); 

私は現在、このコードを使用してリッチテキストボックス内の単語を強調表示しています。 プログラムと同じフォルダに、単語の.txtファイルを使用して{ "The", "is", "what", "story" }を置き換えて、.txtファイルのこれらの単語を検索に使用できますか?ロードリスト<string>から.txt

例:(.txtファイル内の単語は以下の通りです)

Line 1 = The 
Line 2 = is 
Line 3 = what 
Line 4 = story 
+4

を行うことができますので、配列は、IEnumerableです。このコードは何をするはずですか? – meJustAndrew

+1

あなたの質問はどこですか? – codelab

+0

私はrichtextboxにログファイルを開いていて、{"The"、 "is"、 "what"、 "story"}のリストからキーワードをハイライトして検索しています。しかし、私はこれらのキーワードを.txtファイルで変更し、それらのキーワードでログファイルをスキャンしたいと思います。ですから、.txtファイルを{"The"、 "is"、 "what"、 "story"}に置き換えてください。その際、私はキーワードを変更する必要があるたびにプログラムを再構築する必要はありません。私はチャックのように立ち往生しています。 – Cdapimp

答えて

3

あなたはstring[]にあなたのファイルの行を読み取るためにFile.ReadAllLines()を使用することができます。これは、その後List<string>に変換することができるが、あなたも気にする必要はありません - あなたはあなたもforeach` `の後に中括弧を持っていない

foreach (var word in File.ReadAllLines(path_to_wordlist)) 
{ 
    //... 
} 
+0

助けていただきありがとうございますが、私は2つのエラーが発生しています。その名前は、ローカルまたはパラメータ を定義するために囲むローカルスコープで使用されているので、「言葉」という名前の重大度\tコード\t説明\tプロジェクト\tファイル\tライン\t抑制状態 エラー\t CS0136 \tローカルまたはパラメータは、このスコープ内で宣言することはできませんエラー\t CS0103 \t 'wordsToHighlight'という名前は現在のコンテキストに存在しません – Cdapimp

+0

これらのエラーメッセージは、コンパイラのメッセージが表示される可能性が高いため、一般的な英語に近いものです。 "word"と "wordsToHighlight"が一度だけ正しく宣言されていることを確認するために必要なコードを確認してください。 –

+0

フィッシャーさんに感謝します。 – Cdapimp

関連する問題