- - PR -
MaskedTextBoxのEnterキーでのフォーカス移動について
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-06 09:21
お世話になります。
VB2005のWindowsアプリケーションで、現在以下のことが解決できずに悩んでいます。 誰か原因をご存知の方がいらっしゃいましたら、教えていただけませんでしょうか。 FormにMaskedTextBoxとTextBoxをひとつずつ貼り付けます。 MaskedTextBoxのMaskを郵便番号にします。 MaskedTextBoxのValidatingイベントで、郵便番号が正しく入力されているかチェックし、 入力されていなければ、Cancelし、入力するのを促すメッセージボックスを出します。 その際、Tabキーでの標準のフォーカス移動のほかに、Enterキーでのフォーカス移動を実装してあり、 Tabキーの場合、何も問題なく、Cancel後再入力させることが可能なのですが、 Enterキーでの移動の場合、再入力する際、Maskが効かなくなる?状態になります。 以下作成したソースです。 自分のコーディングがどこか悪いのでしょうか? 誰かご存知の方がいらっしゃいましたら、教えていただけませんでしょうか。 よろしくお願いします。 Private Sub Form1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles MyBase.KeyDown If e.KeyCode = Keys.Enter Then Me.SelectNextControl(Me.ActiveControl, Not e.Shift, True, True, True) End If End Sub Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress If e.KeyChar = ControlChars.Cr Then e.Handled = True End If End Sub Private Sub MaskedTextBox1_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles MaskedTextBox1.GotFocus Me.MaskedTextBox1.SelectAll() End Sub Private Sub MaskedTextBox1_Validating(ByVal sender As Object, ByVal e As System.ComponentModel.CancelEventArgs) Handles MaskedTextBox1.Validating If Me.MaskedTextBox1.MaskCompleted = False Then e.Cancel = True MessageBox.Show("郵便番号を正しく入力してください") End If End Sub | ||||||||
|
投稿日時: 2006-11-06 09:40
KeyDown イベントで e.Handled = True していないところですね。
ちなみに、私のサイトを参考にしたということであれば、すみません... _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-11-06 10:18
無事解決いたしました。
じゃんぬねっとさんありがとうございました。 |
1