Datetimepicker有两个选项可从下拉列表中选择日期或手动ovewrite

时间:2015-05-08 09:01:32

标签: c# winforms

我正在制作一个datetimepicker,它可以通过从下拉菜单中选择“付款”日期来保存日期,并且还应启用以通过手动点击calandar上的日期来保存日期,之后它将被保存在数据库中。手动选项始终必须覆盖下拉列表中的日期。

但问题是,如果在datetimepicker中甚至可以实现,我也不知道如何制作Onclick功能。到目前为止,下拉选项总是覆盖我不希望它做的手工选择日期。

 dateTimePicker1.Value = DateTime.Now.AddDays(1);
 MessageBox.Show(dateTimePicker1.Value.ToString());

任何人都有个好主意?

(下拉代码:)

下拉代码在荷兰抱歉,在下拉菜单中你有4个选项(比如+14天+7天)resdatum表示它必须上升多少天。 Factuur数据表示开始日期和betaaldatum基本上是开始日期+ resdatum的天数。

Locatie_reservering lr = new Locatie_reservering();
            string ResDatum = lr.getFirstDate(reservering.getID());
            DateTime FactuurDatum = betalingsConditie.BerekenFactuurdatum(cbBetalingsConditie.SelectedValue.ToString(), ResDatum);
            DateTime BetaalDatum = betalingsConditie.BerekenBetaaldatum(cbBetalingsConditie.SelectedValue.ToString(), FactuurDatum, ResDatum);
            dateTimePicker1.Value = BetaalDatum;

2 个答案:

答案 0 :(得分:1)

您可以使用MouseUp事件:

    private void dateTimePicker1_MouseUp(object sender, MouseEventArgs e)
    {
        dateTimePicker1.Value = DateTime.Now.AddDays(1);
        MessageBox.Show(dateTimePicker1.Value.ToString());
    }

答案 1 :(得分:0)

尝试使用datetimepicker的ValueChanged事件。只要日期时间发生变化,就会触发此事。

private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
  textBox1.Text = dateTimePicker1.Value.ToShortDateString();
}