次の方法で共有


チュートリアル: MaskedTextBox コントロールの操作

このチュートリアルで説明するタスクは次のとおりです。

  • MaskedTextBox コントロールの初期化

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

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

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

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

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

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

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

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

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

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

ユーザーに入力エラーを通知する

マスク入力が拒否された場合のバルーンメッセージを追加する

  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 イベント ハンドラーで、Type型を表すDateTime オブジェクトを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
    

こちらも参照ください