初始化DateTimeInput(或DateTimePicker)

时间:2016-09-07 17:09:57

标签: vb.net datetimepicker

我已经搜索但没找到我需要的东西。

我在表单中有两个DateTimeInput(Employee Form)。一个是出生日期,另一个是入学日期。

我想让第一个开始显示1940年的日期,但我无法得到它。该物业" MinDate"没有帮助我,因为这个属性只是一个限制,我想要的是设置一个显示控件的开始日期。 控制开始显示当前日期,但如果您的出生日期是1990年,那么它是没有意义的,所以你必须及时回到过去"例如,自2016年至1988年以来,该控制措施如何。

那么,如何在01/01/1990中初始化datetimeinput,使日期选择器开始呢?

事先谢谢!

1 个答案:

答案 0 :(得分:0)

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

Using the mouse to choose a date

enter image description here

一些想法:您可能不会显示DateTimePicker并首先设置.Visible = False。使用您的首选年份(从1940年至今)添加一个ListBox,用户应该从一个长列表中选择他的出生日期,并使用dateTimePicker进行第二步 - 在考虑用户体验时不是一个好主意。

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

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

  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

enter image description here

但一切都取决于您的需求和您想要的时间段,例如MinDate =现在 - 75年,Maxdate =现在 - 20年

您必须自行决定是要自行编程功能还是使用DateTimePicker控件。