DateTimePicker(Winforms)を使用して(ドロップダウンで)日付と時刻の両方を選択することは可能ですか?選択した値のカスタム表示をどのように変更しますか?また、ユーザーが手動で日付/時刻を入力できるようにすることは可能ですか?
[形式]を[カスタム]に設定してから、形式を指定します。
dateTimePicker1.Format = DateTimePickerFormat.Custom;
dateTimePicker1.CustomFormat = "MM/dd/yyyy hh:mm:ss";
またはしかし、あなたはそれをレイアウトしたい。次に、日付/時刻を直接入力できます。 MMMを使用する場合、入力用に月の数値を使用する必要があります(そのためのコードを自分で作成する場合を除きます(たとえば、5月に5つの結果)
一緒に日付と時刻のピッカーについて知らない。私にはカスタムコントロールのように聞こえます。
ジョブに2つのDateTimePickerを使用するのが最適です。1つは日付セクションのデフォルトで、2つ目のDateTimePickerは時間部分に使用します。 2番目のDateTimePickerを次のようにフォーマットします。
timePortionDateTimePicker.Format = DateTimePickerFormat.Time;
timePortionDateTimePicker.ShowUpDown = true;
あなたがそれらをキャプチャした後、2つはこのようになります
これらの両方のコントロールからDateTimeを取得するには、次のコードを使用します
DateTime myDate = datePortionDateTimePicker.Value.Date +
timePortionDateTimePicker.Value.TimeOfDay;
DateTimeをこれらの両方のコントロールに割り当てるには、次のコードを使用します
datePortionDateTimePicker.Value = myDate.Date;
timePortionDateTimePicker.Value = myDate.TimeOfDay;
残念ながら、これはフレームワークの多くの誤った名称の1つであり、せいぜいSRPの違反です。
DateTimePickerを時刻に使用するには、FormatプロパティをTimeまたはCustomに設定します(CustomFormatプロパティを使用して時刻の形式を制御する場合は、Customを使用します)。次に、ShowUpDownプロパティをtrueに設定します。
ユーザーは日付と時刻を手動で一緒に設定できますが、GUIを使用して両方を設定することはできません。
DateTime Pickerを使用して日付と時刻の両方を選択できるため、「Date and Time Picker」と呼ばれます。 「Format」プロパティを「Custom」に設定し、異なる形式指定子の組み合わせを設定して、「カスタム形式 "プロパティ。ただし、日付を変更する場合は、ポップアップカレンダーを使用できますが、時間選択の場合(同じコントロールでは、値を変更するために上下キーを使用する必要があります)。
たとえば、カスタム形式「ddddd、MMMM dd、yyyy hh:mm:ss tt」では、次のような結果が得られます。「Thursday、August 20、2009 02:55:23 PM "。
必要に応じて、フォーマット指定子のさまざまな組み合わせを試すことができます。たとえば、MMMMは「August」を返しますが、MMは"Aug"
time を表示させることができます。それから、おそらくあなたはあなたが望むものを達成するために2つのコントロール(1日、1回)を持っている必要があります。
DateTimePickerコントロールにはこれらの機能はありません。それは非常に基本的な(そしてイライラする!)コントロールです。あなたの最善の選択肢は、あなたが望むことをするサードパーティのコントロールを見つけることかもしれません。
日付と時刻を手動で入力するオプションについては、TextBox/DateTimePickerの組み合わせを使用してカスタムコンポーネントを作成し、これを実現できます。サードパーティのコントロールがオプションではない場合、それは十分に機能する可能性があります。