Vb.net 初始化DateTimeInput(或DateTimePicker)

Vb.net 初始化DateTimeInput(或DateTimePicker),vb.net,datetimepicker,Vb.net,Datetimepicker,我已经搜索过了,但没有找到我需要的 我在表单(员工表单)中有两个DateTimeInput。一个是出生日期,另一个是入院日期 我想让第一个开始显示1940年的日期,但我无法得到它。属性“MinDate”对我没有帮助,因为这个属性只是一个限制,我想要的是设置控件在显示时的开始日期。 控件开始显示当前日期,但如果您的出生日期是1990年,则没有意义,因此您必须“返回时间”,例如,从2016年到1988年,使用控件 那么,如何在1990年1月1日初始化datetimeinput,使日期选择器从它开始

我已经搜索过了,但没有找到我需要的

我在表单(员工表单)中有两个DateTimeInput。一个是出生日期,另一个是入院日期

我想让第一个开始显示1940年的日期,但我无法得到它。属性“MinDate”对我没有帮助,因为这个属性只是一个限制,我想要的是设置控件在显示时的开始日期。 控件开始显示当前日期,但如果您的出生日期是1990年,则没有意义,因此您必须“返回时间”,例如,从2016年到1988年,使用控件

那么,如何在1990年1月1日初始化datetimeinput,使日期选择器从它开始


事先谢谢

请注意,DateTimePicker控件具有广泛的用户输入选项。因此,您可以使用鼠标单击标题(如2010-2019年),并向后导航几十年。或者使用键盘(光标上/下/右/左)在所选字段内快速上下导航

一些想法:您可能不会显示DateTimePicker并首先设置
.Visible=False
。在列表框中添加您喜欢的年份(从1940年到现在),用户需要从一个长长的列表中选择自己的出生日期,然后使用dateTimePicker进行第二步,这在考虑用户体验时不是一个好主意

当然,在触发form load事件之前,您可以通过代码在运行时设置MinDate、MaxDate和Value。或者在显示DateTimePicker控件之前,使用ListBox事件设置默认值

以下代码允许使用1940-01-31启动控件,用户输入在1940-01-01和今天(现在)之间有效

但这一切都取决于你的需要和你想要的时间,例如MinDate=Now-75年,Maxdate=Now-20年


您必须决定是自己编写功能,还是使用DateTimePicker控件。

请注意,DateTimePicker控件具有广泛的用户输入选项。因此,您可以使用鼠标单击标题(如2010-2019年),并向后导航几十年。或者使用键盘(光标上/下/右/左)在所选字段内快速上下导航

一些想法:您可能不会显示DateTimePicker并首先设置
.Visible=False
。在列表框中添加您喜欢的年份(从1940年到现在),用户需要从一个长长的列表中选择自己的出生日期,然后使用dateTimePicker进行第二步,这在考虑用户体验时不是一个好主意

当然,在触发form load事件之前,您可以通过代码在运行时设置MinDate、MaxDate和Value。或者在显示DateTimePicker控件之前,使用ListBox事件设置默认值

以下代码允许使用1940-01-31启动控件,用户输入在1940-01-01和今天(现在)之间有效

但这一切都取决于你的需要和你想要的时间,例如MinDate=Now-75年,Maxdate=Now-20年


您必须决定是自己编写功能还是使用DateTimePicker控件。

我不希望datetimeinput在您选择之前显示日期
这不是它的工作方式-前提是
值始终是最小-最大范围内的有效日期我意识到它显示的是日期'因为我在文本属性中设置了它。。。但无论如何,我还没有找到解决方案。
我不希望datetimeinput在您选择之前显示日期
这不是它的工作原理-前提是
.Value
始终是最小-最大范围内的有效日期我意识到它显示的是日期,因为我在文本属性中设置了它。。。但无论如何,我还没有找到解决办法。我知道如何通过这个控件导航,我也可以选择一个日期。我的问题是我做不到:当我按下按钮下拉日期列表时,它会显示当前日期、当前月份和当前年份。但我想要的是显示1940年的一天和一个月。你能告诉我怎么做吗?@Emily13-我在回答中更新了代码片段-根据你的需要尝试一下。谢谢帮助信息。de。。。。这并不完全是我想要做的,但可以帮助我更接近我的目标。另外,我没有回答,因为我不在城里,没有互联网。我知道如何通过这个控件导航,我也可以选择一个日期。我的问题是我做不到:当我按下按钮下拉日期列表时,它会显示当前日期、当前月份和当前年份。但我想要的是显示1940年的一天和一个月。你能告诉我怎么做吗?@Emily13-我在回答中更新了代码片段-根据你的需要尝试一下。谢谢帮助信息。de。。。。这并不完全是我想要做的,但可以帮助我更接近我的目标。另外,我没有回答,因为我不在城里,没有互联网
  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    '//--- date of birth
    DateTimePicker1.MinDate = "1940/01/01"
    DateTimePicker1.MaxDate = Now
    DateTimePicker1.Value = "1940/01/31"

    '//--- date of admission
    DateTimePicker2.MinDate = "1940/01/01"
    DateTimePicker2.MaxDate = Now
    DateTimePicker2.Value = Now
  End Sub