DateTimePicker:selectdate和时间

是否有可能使用DateTimePicker(Winforms)来selectdate和时间(在下拉列表中)? 你如何改变拾取值的自定义显示? 另外,是否可以让用户手动inputdate/时间?

将格式设置为自定义,然后指定格式:

dateTimePicker1.Format = DateTimePickerFormat.Custom; dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss"; 

或者你想把它摆放出来。 然后你可以直接inputdate/时间。 如果您使用MMM,则需要使用月份的数字值来input,除非您自己编写一些代码(例如5月份的5个结果)

不知道date和时间select器在一起。 听起来像一个自定义控件给我。

不幸的是,这是这个框架中许多错误的人之一,或者至多是违反了SRP。

若要将DateTimePicker用于时间,请将Format属性设置为Time或Custom(如果要使用CustomFormat属性控制时间格式,请使用“自定义”)。 然后将ShowUpDown属性设置为true。

虽然用户可以手动设置date和时间,但不能使用GUI来设置两者。

最好使用两个DateTimePicker作为第一个date部分的默认值,第二个DateTimePicker是时间部分。 格式化第二个DateTimePicker如下。

  timePortionDateTimePicker.Format = DateTimePickerFormat.Time; timePortionDateTimePicker.ShowUpDown = true; 

捕捉它们之后,这两个应该看起来像这样

两个日期时间选择器

要从这两个控件获取DateTime使用下面的代码

 DateTime myDate = datePortionDateTimePicker.Value.Date + timePortionDateTimePicker.Value.TimeOfDay; 

将DateTime分配给这两个控件使用下面的代码

 datePortionDateTimePicker.Value = myDate.Date; timePortionDateTimePicker.Value = myDate.TimeOfDay; 

date时间select器可以用来selectdate和时间,这就是为什么它被称为“date和时间select器”。 您可以将“ 格式 ”属性设置为“ 自定义 ”,并设置不同格式说明符的组合以在“ 自定义格式 ”属性中以不同格式表示/selectdate/时间。 但是,如果您想更改date,则可以使用popup式日历,而在时间select的情况下(在同一控件中,您必须使用上/下键来更改值。

例如,自定义格式“ ddddd,MMMM dd,yyyy hh:mm:ss tt ”会给你这样的结果:“ 2009年8月20日星期四02:55:23 PM ”。

您可以使用不同的格式说明符组合来适应您的需要,例如MMMM将给“ 八月 ”,而MM将给“ 八月

在Visual Studio中转到dateTimePickerProperties ,并将Format设置为Custom 。 在CustomFormatinput您的格式。 在我的例子中,我使用了MMMMdd, yyyy | hh:mm MMMMdd, yyyy | hh:mm

在这里输入图像描述
dateTimePickerProperties

你可以得到它来显示时间 。 从那里你可能会有两个控制(一个date,一次)完成你想要的。

恐怕DateTimePicker控件不具备这些function。 这是一个非常基本的(令人沮丧的!)控制。 你最好的select可能是find你想要的第三方控件。

对于手动inputdate和时间的选项,您可以使用TextBox / DateTimePicker组合来构build一个自定义组件来实现此目的,如果第三方控件不是一个选项,则它可能工作得很好。