获取基于DateTimePicker的ComboBox值

时间:2017-01-20 16:38:43

标签: c#

我有一个程序,如果DateTimePicker设置为特定日期(周一,周二,周三至周日),ComboBox将仅显示当天可用的时间。

这是我的字符串,但是,当我选择星期一然后将其更改为星期二然后再将其更改为星期三时,ComboBox的先前值只是加起来而不是仅仅获取值(可用时间)当前选定的日子。

enter image description here

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    if (dateTimePicker1.Value.DayOfWeek == DayOfWeek.Monday)
    {
        comboBox1.Items.Add("8:00 AM");
        comboBox1.Items.Add("9:00 AM");
        comboBox1.Items.Add("10:00 AM");
        comboBox1.Items.Add("1:00 PM");
        comboBox1.Items.Add("3:00 PM");
        comboBox1.Items.Add("6:00 PM");
    }
    else if (dateTimePicker1.Value.DayOfWeek == DayOfWeek.Tuesday)
    {
        comboBox1.Items.Add("8:00 AM");
        comboBox1.Items.Add("9:00 AM");
        comboBox1.Items.Add("10:00 AM");
        comboBox1.Items.Add("1:00 PM");
        comboBox1.Items.Add("3:00 PM");
        comboBox1.Items.Add("6:00 PM");
    }
    else if (dateTimePicker1.Value.DayOfWeek == DayOfWeek.Wednesday)
    {
        comboBox1.Items.Add("8:00 AM");
        comboBox1.Items.Add("9:00 AM");
        comboBox1.Items.Add("10:00 AM");
        comboBox1.Items.Add("1:00 PM");
        comboBox1.Items.Add("3:00 PM");
        comboBox1.Items.Add("6:00 PM");
    }
    else
    {
        comboBox1.Items.Add("NO TIMES AVAILABLE");
    }
}

为了让我只显示当前所选日期的可用时间,我需要更改哪些内容?

1 个答案:

答案 0 :(得分:2)

您只需要在列表中调用Clear,即:

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
    comboBox1.Items.Clear();

    //...