如何限制DateTimePicker只更改日期,而不是时间?

时间:2010-08-25 17:30:25

标签: c# winforms datetimepicker

情况如下:

我在日志查看器中有两个DateTimePicker控件用于开始日期和结束日期。我希望开始日期是用户选择的,但时间为00:00:00。结束时间为用户选择的日期,但时间为23:59:59.999。

(我也会编写代码,确保结束日期等于或大于开始日期,但我可以处理)

实施此方法的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

只需忽略使用DateTime.Date从DTP获取日期的时间部分。像这样:

    private void btnOK_Click(object sender, EventArgs e) {
        var start = dtpStart.Value.Date;
        var end = dtpEnd.Value.Date.AddDays(1).AddMilliseconds(-1);
        if (end > start) {
            // etc...
        }
    }

答案 1 :(得分:2)

使用DatePicker而不是DateTimePicker和/或订阅更改事件,并在每次更改值时强制您想要的时间。