質問: テキストボックスに文字が入力されたときに負の値が入ったときにメッセージが出るようにするには 下記のようにするといいと思うんですけれども、 Private Sub TextBox1_Leave(sender As Object, e As EventArgs) Handles TextBox1.Leave If CStr(TextBox1.Text) <= 0 Then MsgBox("0か負の値がはいっています") End If たとえば、テキストボックスの数がいくつもあってそのすべてに上記のコードを適応させるにはどうすればいいですか? ### 補足情報(FW/ツールのバージョンなど) visualsutadio2012 vb.net
回答: Handles の後ろに、カンマ区切りで複数の「コントロール.イベント名」を指定できます。 例えば ``` Imports System.ComponentModel Public Class Form1 Private Sub TextBox_Validating(sender As Object, e As CancelEventArgs) Handles TextBox1.Validating, TextBox2.Validating, TextBox3.Validating Dim t As TextBox = DirectCast(sender, TextBox) Dim i As Integer If Integer.TryParse(t.Text, i) Then If i <= 0 Then MsgBox("0か負の値がはいっています") e.Cancel = True End If End If End Sub End Class ``` のような感じ。