Ereignis mit verschiedenen Events

  • C#
  • .NET (FX) 4.5–4.8

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von Visual_Prog.

    Ereignis mit verschiedenen Events

    Moin,

    ich übersetze grad was von vb ins c#, es geht darum eine Ereignis mit verschiedenen Events zu handeln.

    Bei Vb sieht das so aus:

    VB.NET-Quellcode

    1. Private Sub btn_würfel5_Click(sender As Object, e As EventArgs) Handles btn_würfel5.Click, btn_würfel4.Click, btn_würfel3.Click, btn_würfel2.Click, btn_würfel1.Click
    2. If sender Is btn_würfel1 Then
    3. ' blabla
    4. ElseIf sender Is btn_würfel2 Then
    5. ElseIf sender Is btn_würfel3 Then
    6. ElseIf sender Is btn_würfel4 Then
    7. btn_würfel5 Then
    8. End If
    9. End Sub


    Der Übersetzer für c# gibt mir folgendes aus, jedoch funktioniert es nicht.

    C#-Quellcode

    1. private void btn_würfel5_Click(object sender, EventArgs e)
    2. {
    3. if (sender == btn_Würfel1)
    4. {
    5. //blabla
    6. }
    7. else if (sender == btn_Würfel2)
    8. {
    9. }
    10. else if (sender == btn_Würfel3)
    11. {
    12. }
    13. else if (sender == btn_Würfel4)
    14. {
    15. }
    16. else if (sender == btn_Würfel5)
    17. {
    18. }
    19. }



    Wurde das vielleicht nicht richtig übersetzt bzw. ist es normal, dass bei c# keine handles-klausel geschrieben wird?
    danke
    @Visual_Prog Das ist korrekt, in C# gibt es nur das AddHandler-Äquiovalent:

    C#-Quellcode

    1. this.btnWww.Click += new System.EventHandler(this.btnWww_Click);
    oder kurz

    C#-Quellcode

    1. this.btnWww.Click += this.btnWww_Click;


    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    @Visual_Prog Klar, Du musst die betreffenden Events erst abbonieren.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!