バージョン

TimeSpanEditor クラス

TimeSpan 値を解析して書式化する EditorWithText 派生埋め込みエディター。
シンタックス
'宣言
 
Public Class TimeSpanEditor 
   Inherits EditorWithText
   Implements IEmbeddableTextBoxListener 
public class TimeSpanEditor : EditorWithText, IEmbeddableTextBoxListener  
解説

TimeSpanEditor は、MS Project のタスク グリッドの 'Duration' フィールドエディターに基づいています。TimeSpans を書式化し、TimeSpans の文字列表現を解析します。TimeSpanEditor は、ユーザー入力として時間表現のユニットを保持します。たとえば、ユーザーが編集部分に「1 日」を入力した場合、編集モード セッションの間で時間単位 (日) が永続化されます。

TimeSpanEditor は、マスクを使用しません。EditorWithText から派生し、編集部分でフリーフォーム入力を許可します。入力された値が TimeSpanTimeSpan へ解析できない場合、IsValid プロパティは false を返します。UltraGrid などの埋め込み可能エディターは、これをエラーとして解釈し、通常のメカニズムに従ってユーザーに通知します。

TimeSpanEditor は、現在の値を増加/減少させるためのクリックをしたときに、デフォルトで「スピン」ボタンを表示します。これらのボタンは、SpinButtonVisible プロパティを false に設定して非表示にできます。

TimeSpanEditor は 3 型の編集と描画をサポートします。System.TimeSpan、Nullable(Of System.TimeSpan)、 および FormattedTimeSpan。TimeSpan 構造をラップするインフラジスティックスのタイプです。(週、日、時間、分) ユニットを説明する列挙型の Format を追加プロパティとして追加します。

TimeSpan データ型が編集および描画に使用される場合、関連付けられた埋め込みエディター owner は、時間表現を保持するために GetEditorContext および SetEditorContext メソッドを実装する必要があります。UltraGrid 内で使用される場合、このメカニズムが他の目的で使用されているため既に設定されています。そのため、UltraGrid 内で使用する場合、特に設定する必要はありません。

関連付けられた埋め込みエディター オーナーは、オプションで GetExtendedInfo メソッドを実装し、TimeSpanFormatInfo クラスで拡張された拡張書式サポートを提供できます。このクラスは、期間を表すための文字列を明示的に定義できます。たとえば、スペイン語圏内での使用のサポートは、値 "semana", "día", "hora", and "minuto" が適切なプロパティに適用されます。更に、このクラスは論理的な週を構成する日数の値を定義できます。MS Project では、「1 週間」 を 7 日間ではなく、実際の期間を表す値 を 5 日間 (1 週間のデフォルト稼働日が 5 日のため) と見なします。

TimeSpanEditor コンストラクターは、TimeSpanFormatInfo クラスのインスタンスを許可するためにオーバー読み込みされます。このコンストラクターを使用した場合、エディター内の通信に必要なメソッドをオーバーライドする内部 EmbeddableEditorOwnerBase 派生実装を作成します。

TimeSpanEditor は、1 分以下の時間ユニットはサポートしません。

参照