Как добавить одну и ту же строку в ListBox в несколько строк?

В верхней части формы у меня есть:

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 только один раз одной строкой. Я хочу, чтобы он был похож на 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;
}

Как я могу добавить все строки из StreamReader вместо использования Items.Add, но с использованием DataSource?

Как я могу раскрасить красным только слово "Url:" У меня есть эта строка:

data = новая строка [1] {"Url:" + токены [0] + "---" + "Localy KeyWord:" + токены [1]};

И я хочу, чтобы он добавил все строки из текстового файла и каждую строку, чтобы закрасить только слово "URL:"

Ответы на вопрос(2)

Ваш ответ на вопрос