我的任务是创建一个计划器。所以我有一个复选框,每当我输入一条带有数字的消息时,它都会显示带有指定颜色的消息。但当我添加另一条带有另一个号码和颜色的消息时,它会将整个复选框和消息更改为我刚刚输入的颜色号码。
因此,我想在我的复选框中添加多条消息,而不会将其更改为我刚刚输入的最后一个数字颜色。
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);
}
您可以为此使用ListView。首先将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);
}