0

私のコード:

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Dim top As Integer = 0
        For i = 0 To 10
            Dim inLine As Integer = 8
            Dim left As Integer = 0
            For x = 0 To inLine
                Dim s As New Panel
                s.BackColor = Color.Black
                s.Width = 10
                s.Height = 10
                s.Left = left
                s.Top = top
                left = left + 20
                AddHandler s.MouseHover, AddressOf Panel1_MouseHover
                Me.Controls.Add(s)
            Next
            top = top + 20
        Next

    End Sub

        Private Sub Panel1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs)
   /////---- Some code!! :/ 
        End Sub

私の from にパネルを追加する私のコードは、パネル
にマウスを合わせると、パネルの背景色が変わることを望みます。

誰かが理解できない場合:
フォームに追加したパネルにマウスを置いたときに、パネルの背景色を変更するにはどうすればよいですか?

Private Sub Panel1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs)
       /////---- Some code to change the panel color !! :/ 
End Sub
4

1 に答える 1

1

あなたが見逃している部分はsender、イベント ハンドラー メソッドへのパラメーターが常に、イベントを発生させているコントロールであるという事実だと思います。ただし、それを使用する前に、正しい型にキャストして、インテリセンスとコンパイラの型チェックの利点を最大限に活用できるようにします。

Private Sub Panel1_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim panel As Panel = CType(sender, Panel)
    panel.BackColor = Color.White
End Sub
于 2012-06-20T18:17:28.620 に答える