Bonsoir,

Voila un code simple qui me pose probleme:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Public Class Form1
    Private p As New Panel
    Private pSwitchOn As Boolean = False
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        p.Size = New Size(8, 8)
        p.BackColor = Color.Red
        p.Location = New Point(20, 20)
        'p.Visible = False
        AddHandler p.Click, AddressOf p_Click
        Me.Controls.Add(p)
    End Sub
 
    Private Sub p_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
        pSwitchOn = Not pSwitchOn
        If pSwitchOn Then
            p.BackColor = Color.Green
        Else
            p.BackColor = Color.Blue
        End If
    End Sub
 
    Private Sub PictureBox1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseEnter
        'p.Visible = True
        p.BringToFront()
    End Sub
 
    Private Sub PictureBox1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) Handles PictureBox1.MouseLeave
        'p.Visible = False
        p.SendToBack()
    End Sub
 
End Class
Sur la Form1, j'ai un simple PictureBox1. Sur ce PictureBox, je cree dynamiquement un Panel qui apparait sur la PictureBox1.
Les evenements MouseEnter et MouseLeave me font apparaitre ou disparaitre ce Panel.

Si le Panel se trouve sur la PictureBox1, l'evenement p_Click ne marche pas. Pourquoi? Cet evenement marche tres bien lorsqu'il est a cote de la PictureBox1.

Il y a surement quelquechose de simple qui m'echappe.
Merci,

A+
JLuc01