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

ジョブには 2 つの DateTimePicker を使用することをお勧めします。2 番目の DateTimePicker を次のようにフォーマットします。

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

キャプチャすると、2 つは次のようになります。

2 つの日時ピッカー

これらの両方のコントロールから 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

残念ながら、これはフレームワーク内の多くの誤称の 1 つであるか、せいぜい SRP の違反です。

時刻に DateTimePicker を使用するには、Format プロパティを Time または Custom に設定します (CustomFormat プロパティを使用して時刻の形式を制御する場合は、Custom を使用します)。次に、ShowUpDown プロパティを true に設定します。

ユーザーは手動で日付と時刻を一緒に設定できますが、GUI を使用して両方を設定することはできません。

于 2008-09-18T15:31:37.300 に答える
26

DateTime ピッカーは、日付と時刻の両方を選択するために使用できるため、「日付と時刻のピッカー」と呼ばれています。" Format " プロパティを " Custom " に設定し、さまざまな形式指定子の組み合わせを設定して、" Custom Format " プロパティでさまざまな形式で日付/時刻を表す/選択することができます。ただし、日付を変更する場合は、ポップアップ カレンダーを使用できますが、時間の選択の場合は (同じコントロールで上下キーを使用して値を変更する必要があります。

たとえば、カスタム フォーマット " dddddd, 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

ここに画像の説明を入力
dateTimePickerProperties

于 2017-01-10T22:32:56.007 に答える
1

時刻を表示させることができます。そのため、目的を達成するには、おそらく 2 つのコントロール (1 つの日付、1 つの時間) が必要になるでしょう。

于 2008-09-18T15:35:17.650 に答える
1

残念ながら、DateTimePicker コントロールにはこれらのことを行う機能がありません。これは非常に基本的な (そしてイライラする!) コントロールです。あなたの最善の選択肢は、あなたが望むことをするサードパーティのコントロールを見つけることかもしれません.

日付と時刻を手動で入力するオプションについては、これを実現するために TextBox/DateTimePicker の組み合わせでカスタム コンポーネントを作成できます。サード パーティ製のコントロールがオプションでない場合は、かなりうまく機能する可能性があります。

于 2008-09-18T15:35:44.857 に答える