Forum: PC-Programmierung [VB2008] Problem mit dem durchreichen des MouseDown Events bei eine Control


von Kakatu (Gast)


Lesenswert?

Hallo Leute,

Habe das Problem, das bei einem Mousedown Event auf einem zur Laufzeit 
erstellten Controls, nichts durchgereicht wird.

Das Control wird wie folgt auf einem Panel erstellt:

Dim NewOder As New cntrl_ODER
NewOder.Name = "ODER_" & Panel.Controls.Count
NewOder.Location = New Point(Location.X - (40), Location.Y - (50))
Panel.Controls.Add(NewOder)
AddHandler NewOder.MouseDown, AddressOf GenerellesMousedown
AddHandler NewOder.MouseMove, AddressOf GenerellesMouseMove

Das Control an sich wird erkannt, nur das Label usw, was sich auf der 
"Controlform" befindet nicht.

Habe schon versucht den AppHandler umzubiegen:
Private Sub cntrl_ODER_Paint(ByVal sender As Object, ByVal e As 
System.Windows.Forms.PaintEventArgs) Handles Me.Paint
        lbl_BlockNumber.Text = Me.Name
        AddHandler lbl_BlockNumber.MouseDown, AddressOf 
frm_Main.GenerellesMousedown
        AddHandler lbl_Funktion.MouseDown, AddressOf 
frm_Main.GenerellesMousedown
        AddHandler Panel1.MouseDown, AddressOf 
frm_Main.GenerellesMousedown
    End Sub

Bekomme aber immer nur das Label,uws. zurück. Nicht die Controlform.

von Kakatu (Gast)


Lesenswert?

Schade, das das niemang gewusst/geholfen hat.
Habe es nach ewigen probieren selbst herausgefunden:

Bei jedem Control im UserControl muss das Event, das generelle Event in 
frm_Main aufrufen.

    Private Sub Panel1_MouseDown(ByVal sender As Object, ByVal e As 
System.Windows.Forms.MouseEventArgs) Handles Panel1.MouseDown
        frm_Main.GenerellesMousedown(Me, e)
    End Sub

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.