【问题标题】:How can I limit DatetimePicker in windows form c#?如何在 Windows 窗体 c# 中限制 DatetimePicker?
【发布时间】:2019-12-29 10:33:11
【问题描述】:

我的表单中有两个 datetimePicker

  • 首次开始日期。
  • 第二个结束日期。

我想将第二个 datetimepicker 限制在一年的月底。 如果我们在 2020 年,它的范围应该是到 2020 年 12 月 31 日。

private void DateTimePicker1_ValueChanged(object sender, EventArgs e)
        {
            dateTimePicker1.MinDate=?
        }

【问题讨论】:

  • 到年底 抱歉,我不明白。今天会一直持续到 2020 年 12 月 31 日,对吧? 8 月是 2020 年 8 月 31 日还是 2020 年 12 月 31 日?
  • 是的,如果我们在 2021 年,它应该计算到年底。当前日期是2019年,所以我们可以选择到12月31日。

标签: c# datetimepicker


【解决方案1】:

你应该这样做。 一旦创建了 DateTimePicker 的实例,设置 MaxDate 并没有什么特殊的事件。

您还应该设置 datepicker'sMaxDate 属性而不是 MinDate

DateTimePicker dateTimePicker2 = new DateTimePicker();

// Set the MaxDate.
dateTimePicker2.MaxDate= new DateTime(DateTime.Now.Year,12,31);

DateTimePicker 有一个 Value Changed 事件,一旦您更改 datepicker 上的任何日期,就会调用该事件

【讨论】:

    【解决方案2】:

    你可以使用这样的东西

    var maxDate = new DateTime(DateTime.Now.Year,12,31);
    

    【讨论】:

    • 你在用winform吗?
    • 是的。但是这段代码不起作用。我仍然可以选择其他日期。你清楚明白我的意思吗?它必须从您当前的时间计算。例如现在是 2019 年。我希望用户无法选择比年底(即 2019 年 12 月 31 日)更高的值。如果我们在 2023 年、2024 年或类似的时间,用户将无法选择高于该月的年份的结束日期
    • 因为这里设置的是MinDate,所以必须设置MaxDate属性才能生效
    猜你喜欢
    • 2010-12-02
    • 1970-01-01
    • 2020-08-12
    • 1970-01-01
    • 2017-05-05
    • 2017-03-14
    • 2011-01-30
    • 1970-01-01
    • 2015-02-22
    相关资源
    最近更新 更多