MaskedTextBox.MaskInputRejected イベント

定義

ユーザーの入力または割り当てられた文字が、入力マスクの対応する書式要素と一致しない場合に発生します。Occurs when the user's input or assigned character does not match the corresponding format element of the input mask.

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 

このメンバーの使用例を次のコード例に示します。The following code example demonstrates the use of this member. この例では、イベントハンドラーは、MaskInputRejected イベントの発生を報告します。In the example, an event handler reports on the occurrence of the MaskInputRejected event. このレポートは、イベントがいつ発生し、デバッグに役立つかを理解するのに役立ちます。This report helps you to learn when the event occurs and can assist you in debugging. 複数のイベントまたは頻繁に発生するイベントについてレポートするには、MessageBox.ShowConsole.WriteLine に置き換えるか、複数行 TextBoxにメッセージを追加することを検討してください。To report on multiple events or on events that occur frequently, consider replacing MessageBox.Show with Console.WriteLine or appending the message to a multiline TextBox.

コード例を実行するには、MaskedTextBox1という MaskedTextBox 型のインスタンスを含むプロジェクトに貼り付けます。To run the example code, paste it into a project that contains an instance of type MaskedTextBox named MaskedTextBox1. 次に、イベントハンドラーが MaskInputRejected イベントに関連付けられていることを確認します。Then ensure that the event handler is associated with the MaskInputRejected event.

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 is the default event for the MaskedTextBox class.

MaskInputRejected イベントは、入力マスクによって文字が拒否された場合に発生します。The MaskInputRejected event occurs when a character is rejected by the input mask. Mask プロパティによって表される入力マスクは、MaskedTextProvider プロパティによってコントロールに関連付けられたマスクされたテキストプロバイダーによって解釈されます。The input mask, represented by the Mask property, is interpreted by the masked text provider associated with the control through the MaskedTextProvider property. MaskInputRejected は、次の状況で発生します。MaskInputRejected is raised in the following situations:

  • 入力文字が対応する書式要素と一致しません。An input character does not match the corresponding format element. たとえば、数字が必要な場合、ユーザーはアルファベット文字を入力します。For example, the user enters an alphabetic character when a digit is required. このイベントが発生する最も一般的な理由と考えられます。This is probably the most common reason why this event is raised.

  • マスクが既に入力されているか、現在のキャレットの位置が表示されている入力マスク文字列の最後に移動されたため、マスクの末尾を越えて余分な文字を入力しようとしています。The user is trying to input extraneous characters beyond the end of the mask either because the mask has already been filled or the current caret position has been moved to the very end of the displayed input mask string.

  • 貼り付け操作では、関連付けられた書式指定要素に一致しない文字が挿入されるか、または IsOverwriteMode プロパティが false場合、既存の文字がその書式要素と一致しない新しい位置にシフトされます。A paste operation either inserts a character that does not match its associated format element, or if the IsOverwriteMode property is false, it shifts existing characters into new positions where they do not match their format elements.

  • 切り取り操作では既存の文字が左にシフトされ、1つ以上の文字が新しく関連付けられた書式指定要素と一致しません。A cut operation shifts existing characters to the left, and one or more characters do not match their newly associated format elements.

  • Text プロパティが割り当てられましたが、割り当てられた文字列によって1つ以上のマスク違反が発生しました。An assignment was made to the Text property and the assigned string caused one or more mask violations.

MaskInputRejected を発生させるコントロールに文字列が割り当てられている場合は、文字列の一部が MaskedTextBoxに表示されません。If a string was assigned to the control that causes MaskInputRejected to occur, no part of the string will appear in MaskedTextBox.

BeepOnError プロパティが trueに設定されている場合、MaskInputRejected の既定の処理でビープ音が鳴ります。The default handling for MaskInputRejected will play a beep sound if the BeepOnError property is set to true. このイベントは、多くの場合、カスタムエラー処理を実装するために処理されます。たとえば、マスクがいっぱいの場合に次のユーザー入力コントロールに移動したり、入力文字が無効である場合にカスタムエラーダイアログボックスやツールヒントを表示したりします。This event is often handled to implement custom error handling, for example, to move to the next user input control if the mask is full, or to display a custom error dialog box or ToolTip if the input character is invalid.

適用対象

こちらもご覧ください