I did a quick test with a Delegate and it works normally, I receive the click from the PictureBox =>
(MyUserControl1 added from Designer)
Public Class Form1
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
End Sub
Private Sub PicClick() Handles MyUserControl1.PictureBoxClick
Console.Beep(8000, 10)
End Sub
End Class
Public Class MyUserControl
Inherits System.Windows.Forms.UserControl
Private label1 As System.Windows.Forms.Label
Private WithEvents pictureBox1 As System.Windows.Forms.PictureBox
Private components As System.ComponentModel.IContainer
Public Delegate Sub PictureBoxClickHandler()
Public Event PictureBoxClick As PictureBoxClickHandler
Public Sub New()
InitializeComponent()
End Sub
Public Sub InitializeComponent()
components = New System.ComponentModel.Container()
label1 = New System.Windows.Forms.Label()
pictureBox1 = New System.Windows.Forms.PictureBox()
pictureBox1.Name = "PictureBox1"
pictureBox1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle
pictureBox1.Location = New System.Drawing.Point(10, 10)
pictureBox1.Size = New System.Drawing.Size(90, 75)
label1.Text = "Label"
label1.Location = New System.Drawing.Point(10, 95)
label1.Size = New System.Drawing.Size(200, 20)
Controls.AddRange(New System.Windows.Forms.Control() {label1, pictureBox1})
Size = New System.Drawing.Size(300, 250)
End Sub
Private Sub PictureBox1_Click(sender As Object, e As EventArgs) Handles pictureBox1.Click
OnPictureBoxClick()
End Sub
Protected Overridable Sub OnPictureBoxClick()
RaiseEvent PictureBoxClick()
End Sub
End Class