入力できる文字を特定する .NET でも、VB同様キープレスイベントを使って、入力できる文字を特定することが可能です。この機能を使えば、数字のみしか入力できない欄や、全角カタカナのみしか入力できない欄など幅広く活用できるものです。フォームに次の様なコードを記述します-----------VB.NETコーディングここから-------------------1.フォームに、テキストボックスコントロールを配置します。 (デフォルトのオブジェクトの名前 TextBox1)2.フォームで右クリックして、「コードの表示」を 選び、コード編集画面にします。3.コード編集画面で、編集画面上部にある2種類のドロップダウン のうち、左側のドロップダウンである、 Form1が選択されているドロップダウンをクリックして、 一覧を表示し、TextBox1 を選びます4.コード編集画面で、編集画面上部にある2種類のドロップダウン のうち、右側のドロップダウンである、 Declarationsが選択されているドロップダウンをクリックして、 一覧を表示し、KeyPress を選びます5.コードデザイナによって、自動的に、 イベントプロシージャが作成されます。 次のコードを記述します。 Private Sub TextBox1_KeyPress(ByVal sender As Object, _ ByVal e As System.Windows.Forms.KeyPressEventArgs) _ Handles TextBox1.KeyPress If IsNumeric(e.KeyChar) Or _ e.KeyChar = "." Or _ e.KeyChar = ChrW(8) Then '数字、小数点はOK 'バックスペースもOK ElseIf e.KeyChar = ChrW(13) Then '確定したらメッセージボックス表示 MessageBox.Show("入力されたデータは" & _ Me.TextBox1.Text & "です") e.Handled = True Else '入力できない場合は、入力データの処理が '終わったことを示して、終了 e.Handled = True End If End Sub6.ビルドして実行します。7.テキストボックスに、テンキーで数字を入力してみます。8.アルファベットを入力してみます。 ※入力しても無視されていることがわかります。9.Backspace キーを押してみます。10.リターンキーを押してみます。11.入力されたデータが、メッセージボックスで表示されます。-----------VB.NETコーディングここまで-------------------IMEのプロパティと組み合わせて使うと、より効果的です。キーイベントには、KeyDown 、 KeyUp などありますが、KeyPress は、KeyDownより後で判定されます。
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。