Handler für Click wird 2 mal ausgeführt.

26/03/2008 - 14:55 von Uwe Gabbert | Report spam
Hallo,

ich habe eine Liste mit Linklabeln. Beim Anlegen wird auch ein Handler
für den Click angelegt. Wenn ich den Eintrag anklicke, wird der Handler
aber 2x aufgerufen.
Wo kann ich im Debugger sehen, welche Handler angelegt sind?
Hier die (hoffentlich) entscheidenen Zeiten:



<code>

For Each nachricht In nachrichten
nachricht.Create()
Next

...
Public Sub Create()
Me.AutoSize = True
Me.Location = New System.Drawing.Point(_posx, _posy)
Me.Font = New System.Drawing.Font("Arial", 9.0!,
System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point,
CType(0, Byte))
Me.LinkColor = System.Drawing.Color.Black
Me.LinkBehavior =
System.Windows.Forms.LinkBehavior.NeverUnderline
Me.Name = _feedname
' Me._link.Size = New System.Drawing.Size(59, 13)
Me.TabIndex = 1
Me.TabStop = True
Me.Text = _text
Me.Visible = False
My.Forms.FormKfzNews.Controls.Add(Me)
AddHandler Me.LinkClicked, AddressOf link_Clicked
End Sub

...

Private Sub link_Clicked(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles
Me.LinkClicked
Process.Start(_url)
End Sub

</code>

Vielen Dank. Uwe
(VB.NET Visual Studio 2008)
 

Lesen sie die antworten

#1 Elmar Boye
26/03/2008 - 15:21 | Warnen spam
Hallo Uwe,

Uwe Gabbert schrieb:
ich habe eine Liste mit Linklabeln. Beim Anlegen wird auch ein Handler
für den Click angelegt. Wenn ich den Eintrag anklicke, wird der Handler
aber 2x aufgerufen.
Wo kann ich im Debugger sehen, welche Handler angelegt sind?



Im Debugger nicht, aber im Eigenschaftsfenster werden alle Handles
für Ereignisprozeduren angezeigt.
Mit "Alle Verweise suchen" (auch im Kontextmenü) kannst Du Verweise
auf eine Ereignisprozeduren finden, die Du mit AddHandler eingefügt hast.

<code>

Public Sub Create()

...
AddHandler Me.LinkClicked, AddressOf link_Clicked
End Sub



Private Sub link_Clicked(ByVal sender As System.Object, ByVal e
As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles
Me.LinkClicked



Zweimal, da doppelt eingetragen, einmal AddHandler im Create und
einmal als Handles

Gruß Elmar

Ähnliche fragen