チュートリアル : MaskedTextBox コントロールの使用
更新 : 2010 年 9 月
このチュートリアルでは、以下のタスクを行います。
MaskedTextBox コントロールを初期化します。
MaskInputRejected イベント ハンドラーを使用して、文字がマスクに従っていない場合にユーザーに警告します。
ValidatingType プロパティに型を割り当て、TypeValidationCompleted イベント ハンドラーを使用して、ユーザーがコミットしようとした値がその型に対して有効でない場合にユーザーに警告します。
プロジェクトの作成とコントロールの追加
MaskedTextBox コントロールをフォームに追加するには
MaskedTextBox コントロールを配置するフォームを開きます。
ツールボックスからフォームに MaskedTextBox コントロールをドラッグします。
コントロールを右クリックし、[プロパティ] をクリックします。 [プロパティ] ウィンドウの [マスク] プロパティを選択し、プロパティ名の横の [...] (省略記号) ボタンをクリックします。
[定型入力] ダイアログ ボックスで、[日付 (和暦)] マスクを選択し、[OK] をクリックします。
[プロパティ] ウィンドウで、BeepOnError プロパティを true に設定します。 このプロパティを設定すると、マスク定義に違反する文字をユーザーが入力するたびに、短いビープ音が鳴ります。
[マスク] プロパティがサポートする文字の概要については、Mask プロパティの「解説」を参照してください。
入力エラーについてのユーザーへの警告
マスク入力の拒否に対するバルーン ヒントの追加
ツールボックスに戻り、ToolTip をフォームに追加します。
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
有効でない型についてのユーザーへの警告
無効なデータ型に対するバルーン ヒントの追加
フォームの 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
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 コントロール (Windows フォーム)
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2010 年 9 月 |
Mask プロパティへのリンクを追加しました。このリンクをクリックすると、Mask プロパティがサポートする文字の概要を示すページが表示されます。 |
カスタマー フィードバック |