155

是否可以使用 DateTimePicker (Winforms) 来选择日期和时间(在下拉列表中)?如何更改选取值的自定义显示?另外,是否可以让用户手动输入日期/时间?

4

7 回答 7

199

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

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

或者无论如何你想布置它。然后您可以直接输入日期/时间。如果您使用 MMM,则需要使用月份的数值输入,除非您自己为此编写一些代码(例如,5 月份的 5 个结果)

不知道一起选择日期和时间的选择器。对我来说听起来像是一个自定义控件。

于 2008-09-18T15:32:37.500 回答
78

最好为作业使用两个 DateTimePicker 一个是日期部分的默认值,第二个 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; 
于 2015-05-15T12:34:59.887 回答
46

不幸的是,这是框架中的许多用词不当之一,或者充其量是对 SRP 的违反。

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

尽管用户可以手动设置日期和时间,但他们不能使用 GUI 来设置两者。

于 2008-09-18T15:31:37.300 回答
26

DateTime Picker 可用于选择日期和时间,这就是它被称为“日期和时间选择器”的原因。您可以将“格式”属性设置为“自定义”,并在“自定义格式”属性中设置不同格式说明符的组合以表示/选择不同格式的日期/时间。但是,如果您想更改日期,则可以使用弹出日历,而在选择时间的情况下(在同一控件中,您必须使用向上/向下键来更改值。

例如,自定义格式“ ddddd, MMMM dd, yyyy hh:mm:ss tt ”将为您提供如下结果:“ Thursday, August 20, 2009 02:55:23 PM ”。

您可以使用格式说明符的不同组合来满足您的需要,例如MMMM将给出“ August ”,而MM将给出“ Aug

于 2009-08-20T10:02:46.800 回答
18

转到Visual Studio 中Properties的并设置为. 在输入您的格式下。在我的情况下,我使用dateTimePickerFormatCustomCustomFormatMMMMdd, yyyy | hh:mm

在此处输入图像描述
日期时间选择器属性

于 2017-01-10T22:32:56.007 回答
1

你可以让它显示时间。从那你可能必须有两个控件(一个日期,一个时间)来完成你想要的。

于 2008-09-18T15:35:17.650 回答
1

恐怕 DateTimePicker 控件没有能力做这些事情。这是一个非常基本(而且令人沮丧!)的控制。您最好的选择可能是找到一个可以满足您需求的第三方控件。

对于手动键入日期和时间的选项,您可以使用 TextBox/DateTimePicker 组合构建自定义组件来完成此操作,如果第三方控件不是选项,它可能会工作得相当好。

于 2008-09-18T15:35:44.857 回答