ContentControlBase.Validating イベント (2007 System)

更新 : 2007 年 11 月

コンテンツ コントロール内のコンテンツを検証中であるときに発生します。

名前空間 :  Microsoft.Office.Tools.Word
アセンブリ :  Microsoft.Office.Tools.Word.v9.0 (Microsoft.Office.Tools.Word.v9.0.dll 内)

構文

'宣言
Public Event Validating As CancelEventHandler
'使用
Dim instance As ContentControlBase
Dim handler As CancelEventHandler

AddHandler instance.Validating, handler
public event CancelEventHandler Validating

解説

Validating イベントは、コントロールがフォーカスを失ったときに発生します。コンテンツ コントロール内のテキストが、指定した条件に対して有効であるかどうかを確認するには、Validating イベントを処理します。たとえば、電話番号を含むコンテンツ コントロールがある場合に、適切な文字 (数字、かっこ、ハイフンなど) だけが入力されていることを確認します。有効なコンテンツではない場合、イベントをキャンセルし、コントロールにフォーカスを戻すことができます。これを行うには、イベント ハンドラの CancelEventArgs パラメータの Cancel プロパティを true に設定します。このように設定すると、有効なテキストを入力するまでユーザーはこのコントロールから移動できなくなります。

コンテンツ コントロールの検証が正常に完了した後にコードを実行するには、Validated イベントを処理します。

イベント処理の詳細については、「イベントの利用」を参照してください。

Validating イベントおよび Validated イベント用のイベント ハンドラのコード例を次に示します。エンド ユーザーによってコンテンツ コントロール内のテキストが変更されると、Validating イベントのイベント ハンドラは正規表現を使用して、テキストに整数が含まれていないことを確認します。

この例では、文書に plainTextContentControl1 という名前の PlainTextContentControl が含まれることを前提としています。このコードを使用するには、プロジェクトの ThisDocument クラスにコードを貼り付けます。C# では、さらにイベント ハンドラを plainTextContentControl1 の Validated イベントおよび Validating イベントに結び付ける必要があります。

この例は、ドキュメント レベルのカスタマイズ用に作成されています。

Private Sub plainTextContentControl1_Validating(ByVal sender As Object, _
    ByVal e As System.ComponentModel.CancelEventArgs) _
    Handles PlainTextContentControl1.Validating

    Dim control As Microsoft.Office.Tools.Word.PlainTextContentControl = _
        TryCast(sender, Microsoft.Office.Tools.Word.PlainTextContentControl)

    If control IsNot Nothing Then
        Dim regex As New System.Text.RegularExpressions.Regex("\d")
        If regex.IsMatch(control.Text) Then
            MessageBox.Show("Invalid name. Names cannot contain integers.")
            e.Cancel = True
        End If
    End If
End Sub

Private Sub plainTextContentControl1_Validated(ByVal sender As Object, ByVal e As System.EventArgs) _
    Handles PlainTextContentControl1.Validated

    MessageBox.Show("The name is valid.")
End Sub
void plainTextContentControl1_Validating(object sender, System.ComponentModel.CancelEventArgs e)
{
    Microsoft.Office.Tools.Word.PlainTextContentControl control =
        sender as Microsoft.Office.Tools.Word.PlainTextContentControl;

    if (control != null)
    {
        System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\d");
        if (regex.IsMatch(control.Text))
        {
            MessageBox.Show("Invalid name. Names cannot contain integers.");
            e.Cancel = true;
        }
    }
}

void plainTextContentControl1_Validated(object sender, EventArgs e)
{
    MessageBox.Show("The name is valid.");
}

アクセス許可

  • 直前の呼び出し元に対する完全な信頼。このメンバは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

参照

ContentControlBase クラス

ContentControlBase メンバ

Microsoft.Office.Tools.Word 名前空間