次の方法で共有


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

更新 : 2007 年 11 月

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

  • MaskedTextBox コントロールを初期化します。

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

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

カスタム データ型を使用した検証など、高度な機能を示す MaskedTextBox コントロールの完全版については、「MaskedTextBox コントロールのサンプル」を参照してください。

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

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

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

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

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

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

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

入力エラーについてのユーザーへの警告

マスク入力の拒否に対するバルーン ヒントの追加

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

  2. MaskInputRejected イベントに対するイベント ハンドラを作成します。この中では、入力エラーが発生したときに ToolTip を表示させます。バルーン ヒントは、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
    

参照

参照

MaskedTextBox

その他の技術情報

MaskedTextBox コントロール (Windows フォーム)