チョコミントアイス

説明が非常にへたくそなので、プログラムをそのまま書きます・・・・
スイマセン


Private Sub TextBox1_2_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1_2.KeyPress
If e.KeyChar = Chr(Keys.Enter) Then
Me.SelectNextControl(sender, True, True, True, True)
e.Handled = True
End If
End Sub

Private Sub TextBox1_4_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1_4.KeyPress
If (e.KeyChar < "0"c Or e.KeyChar > "9"c) And e.KeyChar <> vbBack Then
e.Handled = True
End If
If e.KeyChar = Chr(Keys.Enter) Then
Me.SelectNextControl(sender, True, True, True, True)
e.Handled = True
End If
End Sub

Private Sub TextBox1_5_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox1_5.KeyPress
If (e.KeyChar < "0"c Or e.KeyChar > "9"c) And e.KeyChar <> vbBack And e.KeyChar <> ","c Then
e.Handled = True
End If
If e.KeyChar = Chr(Keys.Enter) Then
Me.SelectNextControl(sender, True, True, True, True)
e.Handled = True
End If
End Sub

上記のプログラム、TextBox○○○_5.KeyPressの○○○の部分が1から100まであるのですが、あまりにも行数が多くなって長くなるので、ほかのクラスやモジュールにまとめる方法ってありませんか?

よろしくお願いしますm(__)m

A 回答 (2件)

イベント内の処理がみな,中身が同じであるなら,


各TextBoxのKeyPressイベントを
その同じイベント処理用のメソッドを割り当てれば,複数書かなくても済むんじゃ?
VBだと,プロシージャっていうんでしたっけ.


カンマ区切りで,
・・・Handles TextBox1_4.KeyPress, TextBox1_5.KeyPress
って感じで割り当てられるでしょう.
    • good
    • 0
この回答へのお礼

こんなに簡単な方法があったのですね^o^
ありがとうございました。

お礼日時:2012/11/02 18:12

TextBoxを継承して、OnKeyPressをOverrideする



http://homepage1.nifty.com/rucio/main/VBdotNet/A …
    • good
    • 0
この回答へのお礼

僕のレベルでは少し難しいですが、今後必ず必要になる事だと思いましたので勉強していきます。m(__)m

お礼日時:2012/11/02 18:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!