次の方法で共有


MaskedTextBox.MaskInputRejected イベント

定義

ユーザーの入力または割り当てられた文字が、入力マスクの対応する書式要素と一致しない場合に発生します。

public:
 event System::Windows::Forms::MaskInputRejectedEventHandler ^ MaskInputRejected;
public event System.Windows.Forms.MaskInputRejectedEventHandler MaskInputRejected;
public event System.Windows.Forms.MaskInputRejectedEventHandler? MaskInputRejected;
member this.MaskInputRejected : System.Windows.Forms.MaskInputRejectedEventHandler 
Public Custom Event MaskInputRejected As MaskInputRejectedEventHandler 

イベントの種類

次のコード例では、このメンバーの使用方法を示します。 この例では、イベント ハンドラーがイベントの MaskInputRejected 発生を報告します。 このレポートは、イベントが発生したタイミングを確認するのに役立ち、デバッグに役立ちます。 複数のイベントまたは頻繁に発生するイベントを報告するには、 を Console.WriteLine に置き換えるかMessageBox.Show、複数行TextBoxにメッセージを追加することを検討してください。

コード例を実行するには、 という名前MaskedTextBox1の型MaskedTextBoxのインスタンスを含むプロジェクトに貼り付けます。 次に、イベント ハンドラーがイベントに関連付けられていることを確認します MaskInputRejected

private void MaskedTextBox1_MaskInputRejected(Object sender, MaskInputRejectedEventArgs e) {

System.Text.StringBuilder messageBoxCS = new System.Text.StringBuilder();
messageBoxCS.AppendFormat("{0} = {1}", "Position", e.Position );
messageBoxCS.AppendLine();
messageBoxCS.AppendFormat("{0} = {1}", "RejectionHint", e.RejectionHint );
messageBoxCS.AppendLine();
MessageBox.Show(messageBoxCS.ToString(), "MaskInputRejected Event" );
}
Private Sub MaskedTextBox1_MaskInputRejected(sender as Object, e as MaskInputRejectedEventArgs) _ 
     Handles MaskedTextBox1.MaskInputRejected

    Dim messageBoxVB as New System.Text.StringBuilder()
    messageBoxVB.AppendFormat("{0} = {1}", "Position", e.Position)
    messageBoxVB.AppendLine()
    messageBoxVB.AppendFormat("{0} = {1}", "RejectionHint", e.RejectionHint)
    messageBoxVB.AppendLine()
    MessageBox.Show(messageBoxVB.ToString(),"MaskInputRejected Event")

End Sub

注釈

MaskInputRejected は クラスの既定の MaskedTextBox イベントです。

イベントは MaskInputRejected 、文字が入力マスクによって拒否されたときに発生します。 プロパティで Mask 表される入力マスクは、 プロパティを介して MaskedTextProvider コントロールに関連付けられているマスクされたテキスト プロバイダーによって解釈されます。 MaskInputRejected は、次の状況で発生します。

  • 入力文字が対応する書式要素と一致しません。 たとえば、数字が必要な場合、ユーザーはアルファベット文字を入力します。 これはおそらく、このイベントが発生する最も一般的な理由です。

  • ユーザーは、マスクが既に入力されているか、現在のキャレット位置が表示された入力マスク文字列の最後に移動されているため、マスクの末尾を超えて余分な文字を入力しようとしています。

  • 貼り付け操作では、関連付けられている書式要素と一致しない文字が挿入されるか、 プロパティが の場合 IsOverwriteModefalse、既存の文字が書式要素と一致しない新しい位置にシフトされます。

  • 切り取り操作は既存の文字を左にシフトし、1 つ以上の文字が新しく関連付けられた書式要素と一致しません。

  • プロパティに Text 割り当てが行われ、割り当てられた文字列によって 1 つ以上のマスク違反が発生しました。

が発生する原因 MaskInputRejected となるコントロールに文字列が割り当てられている場合、文字列の一部は に MaskedTextBox表示されません。

の既定の処理MaskInputRejectedでは、 プロパティが にtrue設定されている場合、ビープ音がBeepOnError再生されます。 このイベントは、多くの場合、カスタム エラー処理を実装するために処理されます。たとえば、マスクがいっぱいの場合は次のユーザー入力コントロールに移動したり、入力文字が無効な場合はカスタム エラー ダイアログ ボックスまたはツールヒントを表示したりします。

適用対象

こちらもご覧ください