チュートリアル: MaskedTextBox コントロールの使用

このチュートリアルでは、以下のタスクを行います。

  • MaskedTextBox コントロールを初期化する

  • 文字がマスクに準拠していない場合に、MaskInputRejected イベント ハンドラーを使用してユーザーに警告する

  • ValidatingType プロパティに型を割り当て、TypeValidationCompleted イベント ハンドラーを使用して、ユーザーのコミットしようとしている値が型に対して有効ではない場合に、そのユーザーに警告を発する

プロジェクトの作成とコントロールの追加

MaskedTextBox コントロールをフォームに追加するには

  1. MaskedTextBox コントロールを配置するフォームを開きます。

  2. MaskedTextBox コントロールを、ツールボックスからフォームにドラッグします。

  3. コントロールを右クリックし、 [プロパティ] を選択します。 [プロパティ] ウィンドウで、Mask プロパティを選択し、プロパティ名の横にある [...] (省略記号) ボタンをクリックします。

  4. [定型入力] ダイアログ ボックスで、 [短い日付] マスクを選択し、 [OK] をクリックします。

  5. [プロパティ] ウィンドウで、BeepOnError プロパティを true に設定します。 このプロパティを設定すると、ユーザーがマスク定義に違反する文字を入力しようとするたびに、短いビープ音が鳴ります。

Mask プロパティでサポートされる文字の概要については、Mask プロパティの「解説」を参照してください。

入力エラーについてユーザーに警告する

拒否されたマスク入力についてのバルーン ヒントを追加する

  1. ツールボックスに戻り、ToolTip をフォームに追加します。

  2. 入力エラーが起きた際に ToolTip を表示する、MaskInputRejected イベントのイベント ハンドラーを作成します。 バルーン ヒントは、5 秒間表示されるか、またはユーザーがヒントをクリックするまで表示されます。

    public void Form1_Load(Object sender, EventArgs e)
    {  
        ... // Other initialization code  
        maskedTextBox1.Mask = "00/00/0000";  
        maskedTextBox1.MaskInputRejected += new MaskInputRejectedEventHandler(maskedTextBox1_MaskInputRejected)  
    }  
    
    void maskedTextBox1_MaskInputRejected(object sender, MaskInputRejectedEventArgs e)  
    {  
        toolTip1.ToolTipTitle = "Invalid Input";  
        toolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", maskedTextBox1, maskedTextBox1.Location, 5000);  
    }  
    
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load  
        Me.ToolTip1.IsBalloon = True  
        Me.MaskedTextBox1.Mask = "00/00/0000"  
    End Sub  
    
    Private Sub MaskedTextBox1_MaskInputRejected(sender as Object, e as MaskInputRejectedEventArgs) Handles MaskedTextBox1.MaskInputRejected  
        ToolTip1.ToolTipTitle = "Invalid Input"  
        ToolTip1.Show("We're sorry, but only digits (0-9) are allowed in dates.", MaskedTextBox1, 5000)  
    End Sub  
    

無効な型についてユーザーに警告する

無効なデータ型についてのバルーン ヒントを追加する

  1. フォームの Load イベント ハンドラーで、DateTime 型を表す Type オブジェクトを、MaskedTextBox コントロールの ValidatingType プロパティに割り当てます。

    private void Form1_Load(Object sender, EventArgs e)  
    {  
        // Other code  
        maskedTextBox1.ValidatingType = typeof(System.DateTime);  
        maskedTextBox1.TypeValidationCompleted += new TypeValidationEventHandler(maskedTextBox1_TypeValidationCompleted);  
    }  
    
    Private Sub Form1_Load(sender as Object, e as EventArgs)  
        // Other code  
        MaskedTextBox1.ValidatingType = GetType(System.DateTime)  
    End Sub  
    
  2. TypeValidationCompleted イベントのイベント ハンドラーを追加します。

    public void maskedTextBox1_TypeValidationCompleted(object sender, TypeValidationEventArgs e)  
    {  
        if (!e.IsValidInput)  
        {  
           toolTip1.ToolTipTitle = "Invalid Date Value";  
           toolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000);  
           e.Cancel = true;  
        }  
    }  
    
    Public Sub MaskedTextBox1_TypeValidationCompleted(sender as Object, e as TypeValidationEventArgs)  
        If Not e.IsValidInput Then  
           ToolTip1.ToolTipTitle = "Invalid Date Value"  
           ToolTip1.Show("We're sorry, but the value you entered is not a valid date. Please change the value.", maskedTextBox1, 5000)  
           e.Cancel = True  
        End If  
    End Sub  
    

関連項目