フォームの上部に次のものがあります。
string[] data;
Color []color;
コンストラクターで:
color = new Color[1] { Color.Red};
次に、コンストラクターにロードする関数があります。
private void ListBoxLoadKeys(Dictionary<string,List<string>> dictionary,
string FileName)
{
string line = System.String.Empty;
using (StreamReader sr = new StreamReader(keywords))
{
while ((line = sr.ReadLine()) != null)
{
int i = line.Count();
tokens = line.Split(',');
dictionary.Add(tokens[0], tokens.Skip(1).ToList());
// listBox1.Items.Add("Url: " + tokens[0] + " --- "
+ "Localy KeyWord: " + tokens[1]);
data = new string[1] { "Url: " + tokens[0] + " --- "
+ "Localy KeyWord: " + tokens[1]};
listBox1.DataSource = data;
}
}
}
しかし、ListBoxに追加するのは1行だけです。listbox1.Items.Add のようにしてから、テキスト ファイルのすべての行を listBox に追加します。
次に、線を赤で着色します。
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
e.DrawFocusRectangle();
e.Graphics.DrawString(data[e.Index], new Font(FontFamily.GenericSansSerif, 8,
FontStyle.Regular),new SolidBrush(color[e.Index]), e.Bounds);
}
private void listBox1_MeasureItem(object sender, MeasureItemEventArgs e)
{
e.ItemHeight = 16;
}
Items.Add を使用する代わりに DataSource を使用して StreamReader からすべての行を追加するにはどうすればよいですか?
「Url:」という単語だけを赤で色付けするにはどうすればよいですか?次の行があります:
data = new string[1] { "Url: " + tokens[0] + " --- " + "Localy KeyWord: " + tokens[1]};
そして、テキストファイルのすべての行を追加し、各行に「Url:」という単語だけに色を付けたい