MaskedTextBox.ValidatingType プロパティ
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)

Dim instance As MaskedTextBox Dim value As Type value = instance.ValidatingType instance.ValidatingType = value
/** @property */ public Type get_ValidatingType () /** @property */ public void set_ValidatingType (Type value)
検証で使用されるデータ型を表す Type。既定値は null 参照 (Visual Basic では Nothing) です。

マスクは、それ自体ではユーザーの入力が特定の型の有効な値を表すことを保証していません。次の C# コードはマスクを示します。
maskedTextBox1.Mask = "99/99/9999";
MaskedTextBox1.Mask = "99/99/9999"
このマスクは、ユーザーに 8 桁の数字の入力を要求しますが、ユーザーが月、日付、および年の値を正しい範囲で入力したかどうかは検証しません。マスクに関する限り、"12/20/2003" と "70/90/0000" は同様に有効です。
ValidatingType を使用して、ユーザーが入力したデータが正しい範囲内にあるかどうかを確認できます。前述の例では、DateTime 型のインスタンスを割り当てます。コントロール内の現在のテキストは、ユーザーがコントロールを離れたときに検証されます。TypeValidationCompleted イベントを監視すると、データの検証が失敗したかどうかを確認できます。MaskedTextBox は、MaskCompleted が true の場合にだけ ValidatingType の検証を実行します。
ValidatingType で独自のカスタム データ型を使用する場合は、文字列をパラメータとして受け取る静的な Parse メソッドを実装する必要があります。このメソッドは、次のシグネチャの一方または両方を使用して実装する必要があります。
public static Object Parse(string)
public static Object Parse(string, IFormatProvider)
カスタム データ型の解析を実装する方法の例は、「MaskedTextBox コントロールのサンプル」を参照してください。

ユーザーの入力を有効な DateTime として解析するコード例を次に示します。失敗した場合、TypeValidationCompleted イベント ハンドラはユーザーにエラー メッセージを表示します。値が有効な DateTime の場合、コードは追加の検証を実行して、指定された日付が今日の日付より前でないことを確認します。このコード例は、Windows フォーム プロジェクトに、MaskedTextBox1 という名前の MaskedTextBox コントロールと、ToolTip1 という名前の ToolTip コントロールが配置されていることを前提としています。
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.MaskedTextBox1.Mask = "00/00/0000" Me.MaskedTextBox1.ValidatingType = GetType(System.DateTime) Me.ToolTip1.IsBalloon = True End Sub Private Sub MaskedTextBox1_TypeValidationCompleted(ByVal sender As Object, ByVal e As TypeValidationEventArgs) Handles MaskedTextBox1.TypeValidationCompleted If (Not e.IsValidInput) Then Me.ToolTip1.ToolTipTitle = "Invalid Date" Me.ToolTip1.Show("The data you supplied must be a valid date in the format mm/dd/yyyy.", Me.MaskedTextBox1, Me.MaskedTextBox1.Location.X, Me.MaskedTextBox1.Location.Y, 5000) Else ' Now that the type has passed basic type validation, enforce more specific type rules. Dim UserDate As DateTime = CDate(e.ReturnValue) If (UserDate < DateTime.Now) Then Me.ToolTip1.ToolTipTitle = "Invalid Date" Me.ToolTip1.Show("The date in this field must be greater than today's date.", Me.MaskedTextBox1, Me.MaskedTextBox1.Location.X, Me.MaskedTextBox1.Location.Y, 5000) e.Cancel = True End If End If End Sub ' Hide the tooltip if the user starts typing again before the five-second display limit on the tooltip expires. Private Sub MaskedTextBox1_KeyDown(ByVal sender As Object, ByVal e As KeyEventArgs) Handles MaskedTextBox1.KeyDown Me.ToolTip1.Hide(Me.MaskedTextBox1) End Sub
private void Form1_Load(object sender, EventArgs e) { maskedTextBox1.Mask = "00/00/0000"; maskedTextBox1.ValidatingType = typeof(System.DateTime); maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted); maskedTextBox1.KeyDown += new KeyEventHandler(maskedTextBox1_KeyDown); toolTip1.IsBalloon = true; } void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e) { if (!e.IsValidInput) { toolTip1.ToolTipTitle = "Invalid Date"; toolTip1.Show("The data you supplied must be a valid date in the format mm/dd/yyyy.", maskedTextBox1, maskedTextBox1.Location.X, maskedTextBox1.Location.Y, 5000); } else { //Now that the type has passed basic type validation, enforce more specific type rules. DateTime userDate = (DateTime)e.ReturnValue; if (userDate < DateTime.Now) { toolTip1.ToolTipTitle = "Invalid Date"; toolTip1.Show("The date in this field must be greater than today's date.", maskedTextBox1, maskedTextBox1.Location.X, maskedTextBox1.Location.Y, 5000); e.Cancel = true; } } } // Hide the tooltip if the user starts typing again before the five-second display limit on the tooltip expires. void maskedTextBox1_KeyDown(object sender, KeyEventArgs e) { toolTip1.Hide(maskedTextBox1); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からMaskedTextBox.ValidatingType プロパティを検索する場合は、下記のリンクをクリックしてください。

- MaskedTextBox.ValidatingType プロパティのページへのリンク