3

Timespan 値 (期間) を表示するテキスト ボックスを持つタイマーがあります。タイマーを停止したら、UpDown コントロールを使用して Timespan の値を編集したいと考えています。私はこのようなものが欲しい:

ここに画像の説明を入力

ただし、上記のコントロールは、Format プロパティが「Custom」に設定され、CustomFormat プロパティが「HH:mm:ss」に設定され、ShowUpDown プロパティが true に設定された datetimePicker です。

そのため、dateTime 値のみを表示できます。

Timespan 値 (「32.23:59:59」など) を表示し、UpDown コントロールを使用して、カーソルからマークされた秒、分、時間、または日を編集します。

そんなことがあるものか?

カスタム コントロールを最初から作成する必要がありますか?

前もって感謝します。

編集:多くの考えと実験の後、DomainUpDown コントロールにメソッド SelectionStart と SelectionLength があれば、DomainUpDown コントロールを使用して TimeSpan を編集できることがわかりました。

このような提案を Visual Studio UserVoice サイトに提出しました。そのような機能に投票してください!

4

2 に答える 2

1

DateTimePicker を使用しますが、次のプロパティを設定します

形式 = 時間

ShowUpDown = True

それがあなたの望みだと思います。

そこに日数が必要な場合は、Format=Custom と CustomFormat = "dd:HH:mm:ss" を設定するだけです

于 2012-06-29T18:45:56.820 に答える
0

このコントロールを「期間」に使用することに固執しており、かつ、期間が 24 時間未満であることを確認できる場合は、

ReadOnly baseDate As DateTime = New DateTime(2000, 1, 1)
Dim myTimeSpan As New TimeSpan
''// set value
DateTimePicker1.Value = baseDate.Add(myTimeSpan)
''// retrieve value
myTimeSpan = DateTimePicker1.Value.Subtract(baseDate)

ただし、タイムスパンが 24 時間を超える場合、またはタイムスパンが負の場合に発生することを処理できる必要があります。

于 2012-07-02T12:17:10.283 に答える