2015-03-26 3 views
0

моей задачей является создание планировщика. поэтому у меня есть проверочный список, когда я вхожу в сообщение с номером, на котором отображается сообщение с цветом, назначенным этому номеру. но когда я добавляю другое сообщение с другим номером и цветом, он меняет весь отмеченный список и сообщение на тот номер цвета, который я только что ввел.Как назначить отдельный цвет для каждой задачи в отмеченном поле списка

, поэтому я хочу добавить несколько сообщений в свой проверочный список без изменения последнего цвета, который я только что ввел.

private void button1_Click(object sender, EventArgs e) 
{ 
    int count = 0; 

    if (comboBox1.SelectedItem == "5") 
    { 
     checkedListBox1.ForeColor = System.Drawing.Color.Red; 
     checkedListBox1.Items.Add(textBox1.Text + "\t" + dateTimePicker1.Text); 

    } 
    if (comboBox1.SelectedItem == "4") 
    { 
     checkedListBox1.ForeColor = System.Drawing.Color.Green; 
     checkedListBox1.Items.Add(textBox1.Text + "\t" + dateTimePicker1.Text); 

    } 

    if (comboBox1.SelectedItem == "3") 
    { 
     checkedListBox1.ForeColor = System.Drawing.Color.Blue; 
     checkedListBox1.Items.Add(textBox1.Text + "\t" + dateTimePicker1.Text); 

    } 
    if (comboBox1.SelectedItem == "2") 
    { 
     checkedListBox1.ForeColor = System.Drawing.Color.Gold; 
     checkedListBox1.Items.Add(textBox1.Text + "\t" + dateTimePicker1.Text); 

    } 
+0

Я не думаю, что вы можете сделать это с помощью любых встроенных свойств. Вам либо нужно реализовать свой собственный, либо использовать другой элемент управления. Проверьте ответы на этот вопрос: http://stackoverflow.com/questions/17588322/how-to-dynamically-change-set-checkedlistbox-item-fore-colour –

ответ

1

Для этого вы можете использовать ListView. Сначала добавьте ListView в форму, а затем перейдите к свойствам списка и измените свойство CheckBoxes как true. Затем попробуйте выполнить код ниже. Вы можете изменить цвета по своему усмотрению.

private void button1_Click(object sender, EventArgs e) 
    { 
     ListViewItem item = new ListViewItem(); 
     item.Text = textBox1.Text + "\t" + dateTimePicker1.Text; 
     if (comboBox1.SelectedIndex == 0) 
     {        
      item.ForeColor = Color.Red; 
     } 
     else if (comboBox1.SelectedIndex == 1) 
     { 
      item.ForeColor = Color.Blue;     
     } 
     listView1.Items.Add(item); 
    }