Gleiche Ereignisse für mehrere gleiche Labels

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Gleiche Ereignisse für mehrere gleiche Labels

    Hallo zusammen,
    auf meiner Form habe ich viele Labels. Als Ereignisse für diese Labels sollen MouseMove und MouseLeave dienen.
    MouseMove zeigt die Schrift in (30,30,30) an.
    MouseLeave zeigt die Schrift in (Silver) an.

    Ich habe im Designer alle Labels in Summe angeklickt und dann im Ereignisfenster MouseMove und MouseLeave ausgewählt.

    Im Codefenster steht nun dieses:

    VB.NET-Quellcode

    1. Private Sub Label15_MouseMove(sender As Object, e As MouseEventArgs) Handles Label21.MouseMove, Label20.MouseMove, Label19.MouseMove, Label18.MouseMove, Label17.MouseMove, Label16.MouseMove, Label15.MouseMove, Label14.MouseMove
    2. 'Label21.ForeColor = Color.FromArgb(50, 50, 50)
    3. End Sub
    4. Private Sub Label15_MouseLeave(sender As Object, e As EventArgs) Handles Label21.MouseLeave, Label20.MouseLeave, Label19.MouseLeave, Label18.MouseLeave, Label17.MouseLeave, Label16.MouseLeave, Label15.MouseLeave, Label14.MouseLeave
    5. 'Label21.ForeColor = Color.Silver
    6. End Sub


    Der Befehl zur Zuweisung der Farbe nach ForeColor gilt allerding nur für Label21.

    Meine Frage ist:
    Wie kann die Routine erkennen, welches ForColor bei welchem Label geändert werden muss?
    Schönen Gruß
    Trebron

    - Visual Studio Community 2017 -
    Indem Du den sender durch casten auswertest/hernimmst:

    VB.NET-Quellcode

    1. DirectCast(sender, Label).ForeColor = Color.Silver

    Im Parameter sender steht quasi der Absender drin, also das Objekt, welches das Event ausgelöst hat.
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht den Spekulatiusbackmodus wechseln.