イベント 基本のき VB2005

VB Tips And Sample(HOME)(VB.NET Sample インデックス)

イベント 基本のき VB2005

イベント VB イベント VB
 

VB.NETのイベントは、引数を2つ持つ。
  • 一つ目の、 [sender]はイベント発生源のコントロールへの参照。
    型変換してコントロールの情報などが取得できる。
  • 二つ目の、[e]は、「イベント データが格納されているクラスの基本クラスです。by MSDN」
サンプルでは、テキストボックスで1つ目の例。
フォームのマウスクリックで2つ目の例。
となっている。


コントロール配列みたいな・・・・
VB6のコントロール配列が無くなった代わりに、VB.NETではイベントハンドルの後にイベントを追加できる。
Handles TextBox1.TextChanged, TextBox2.TextChanged




Public Class Form1

    'Handles TextBox1.TextChanged, TextBox2.TextChangedとすることによって
    'VB6のコントロール配列のようにコードを書くことができる。
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged

        '[sender]はイベント発生源のコントロールへの参照
        Me.Label1.Text = CType(sender, TextBox).Text
        Me.Label1.Text = Me.Label1.Text & vbCrLf & CType(sender, TextBox).Name 'コントロール名を取得

    End Sub

    Private Sub Form1_MouseClick(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseClick
        '[e]は、「イベント データが格納されているクラスの基本クラスです。by MSDN」
        'この場合だと、マウスのどのボタンが押されたかが取得できる。
        Me.Label1.Text = e.Button.ToString

        'マウスのロケーション
        Me.Label1.Text = Me.Label1.Text & vbCrLf & "X:" & e.X.ToString()
        Me.Label1.Text = Me.Label1.Text & vbCrLf & "Y:" & e.Y.ToString()

        If (Control.ModifierKeys And Keys.Control) = Keys.Control Then
            Me.Label1.Text = Me.Label1.Text & vbCrLf & "Ctrl 修飾子キー "
        End If

        If (Control.ModifierKeys And Keys.Control) And (Control.ModifierKeys And Keys.Shift) = Keys.Shift Then
            Me.Label1.Text = Me.Label1.Text & vbCrLf & "Ctrl+Shift 修飾子キー "
        End If

    End Sub


End Class



VB Tips And Sample(HOME)(VB.NET Sample インデックス)