我的任务是创建一个规划器。因此,每当我输入带有数字的消息时,我都会有一个选中的列表框,它会显示分配给该数字的颜色的消息。但是当我添加另一个带有另一个数字和颜色的消息时,它会将整个选中的列表框和消息更改为我刚刚输入的颜色编号。
所以我想在我的选中列表框中添加多条消息,而不会更改为刚刚输入的最后一个数字颜色。
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 :(得分: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);
}