C# 如何在c日期时间选择器中设置最大时间和最小时间

C# 如何在c日期时间选择器中设置最大时间和最小时间,c#,datetimepicker,C#,Datetimepicker,我正在c windows窗体应用程序中使用日期时间选择器 如何设置最小时间和最大时间?我有一个字符串07:52:22,我想将其设置为最大或最小时间。我该怎么做 DatetimePicker.MinDate.TimeOfDay = "07:52:22"; 这是错误的,但这正是我想要的。对,不支持。您必须自己将验证添加到ValueChanged事件中。你可以这样限制它: private void dateTimePicker1_ValueChanged(object sender, Eve

我正在c windows窗体应用程序中使用日期时间选择器

如何设置最小时间和最大时间?我有一个字符串07:52:22,我想将其设置为最大或最小时间。我该怎么做

DatetimePicker.MinDate.TimeOfDay = "07:52:22";

这是错误的,但这正是我想要的。

对,不支持。您必须自己将验证添加到ValueChanged事件中。你可以这样限制它:

    private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {
        var max = new TimeSpan(7, 52, 22);
        if (dateTimePicker1.Value.TimeOfDay >= max) {
            dateTimePicker1.Value = dateTimePicker1.Value.Date + max;
        }
    }

对,不支持。您必须自己将验证添加到ValueChanged事件中。你可以这样限制它:

    private void dateTimePicker1_ValueChanged(object sender, EventArgs e) {
        var max = new TimeSpan(7, 52, 22);
        if (dateTimePicker1.Value.TimeOfDay >= max) {
            dateTimePicker1.Value = dateTimePicker1.Value.Date + max;
        }
    }

这是给MinDate而不是Min的time@awudoin这太完美了。我不知道你为什么投了反对票。这正是我想要的。Thanks@AkashDeshpande试试这个:dateTimePicker1.Value=DateTime.Now.AddYears1@金刚:虽然DateTime通常用于存储日期和时间,但它完全可以只存储时间值。无论如何,OP希望使用DateTimePicker,它将其值存储在DateTime中,因此他需要使用此结构。此外,DateTimePicker支持拾取/存储时间,尽管支持有限。没有理由让它变得比需要的更复杂。控件和结构都支持他想要的东西…@awudoin我没有说它不支持时间,只是MinDate无法完美工作,dateTimePicker1.值可以自由更改,如果发生这种情况,MinDate可能无法像我之前评论中的示例所指出的那样工作。事实上,我们需要更多的代码使其按预期工作,或者仅仅使用Hans先生的代码。我们确实遇到过这样的情况,我们需要使用日期部分,但仍然需要对时间部分进行一些限制,在这种情况下,MinDate无能为力。这是针对MinDate而不是Min的time@awudoin这太完美了。我不知道你为什么投了反对票。这正是我想要的。Thanks@AkashDeshpande试试这个:dateTimePicker1.Value=DateTime.Now.AddYears1@金刚:虽然DateTime通常用于存储日期和时间,但它完全可以只存储时间值。无论如何,OP希望使用DateTimePicker,它将其值存储在DateTime中,因此他需要使用此结构。此外,DateTimePicker支持拾取/存储时间,尽管支持有限。没有理由让它变得比需要的更复杂。控件和结构都支持他想要的东西…@awudoin我没有说它不支持时间,只是MinDate无法完美工作,dateTimePicker1.值可以自由更改,如果发生这种情况,MinDate可能无法像我之前评论中的示例所指出的那样工作。事实上,我们需要更多的代码使其按预期工作,或者仅仅使用Hans先生的代码。我们确实遇到过这样的情况,我们需要使用日期部分,但仍然需要对时间部分进行一些限制,在这种情况下,MinDate无法帮助我们。它是受支持的。DateTime也存储时间值。复习下面的答案。汉斯,这不会导致StackOverflowException?似乎是一个小错误:@awudoin它只适用于DateTime类型的MinDate和MaxDate,如果您只为它设置时间部分,日期会是什么?验证时,它将检查日期部分first@King孔:OP没有说他担心日期……只是时间。DateTimePicker通常只用于拾取/存储时间,所以我假设这就是OP想要的,因为这就是所有声明。不,没有堆栈溢出。第二遍不输入if语句。此答案适用于任何格式。它是受支持的。DateTime也存储时间值。复习下面的答案。汉斯,这不会导致StackOverflowException?似乎是一个小错误:@awudoin它只适用于DateTime类型的MinDate和MaxDate,如果您只为它设置时间部分,日期会是什么?验证时,它将检查日期部分first@King孔:OP没有说他担心日期……只是时间。DateTimePicker通常只用于拾取/存储时间,所以我假设这就是OP想要的,因为这就是所有声明。不,没有堆栈溢出。第二遍不输入if语句。这个答案适用于任何格式。