Beim Klick auf Button, Argument übergeben



  • Hallo Leute,

    ich habe derzeitig folgenden Code:

    Label newserver = new Label();
    newserver.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    newserver.Location = new System.Drawing.Point(10, 10);
    newserver.Size = new System.Drawing.Size(450, 24);
    newserver.TabIndex = 0;
    newserver.Text = "";
    panel2.Controls.Add(newserver);
    
    Button button = new Button();
    button.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Underline))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    button.Location = new System.Drawing.Point(10, 50);
    button.Size = new System.Drawing.Size(450, 24);
    button.TabIndex = 0;
    button.Text = "Absenden";
    panel2.Controls.Add(button);
    

    Jetzt ich beim Klick auf den Button den Inhalt der Textbox mit an das Event übergeben. Probiert habe ich es schon folgendermaßen:

    button.Click += new System.EventHandler(this.button_Click(newserver.Text));
    

    So und das Event sah so aus:

    private void button_Click(object sender, EventArgs e, string test)
    {
    }
    

    Aber irgendwie funktioniert das nicht, gibt es für mein Problem vielleicht eine Lösung oder kann ich das irgendwie anders machen?

    MfG Hanashi


  • Administrator

    Zuerst einmal: Was um alles in der Welt soll die Zeile mit dem Font? Wieso all diese unnötigen Klammern und Konvertierungen? Und wieso verwendest du kein using System.Drawing ? Dann könnte man dies runterbrechen auf folgendes:

    newserver.Font = new Font("Microsof Sans Serif", 16f, FontStyle.Bold | FontStyle.Underline, GrahpicsUnit.Point, 0);
    

    Und du willst wirklich ein gdiCharSet mit dem Wert 0?

    Dann zu deinem eigentlichen Problem. Ein Delegate oder Event nimmt nur eine Funktion mit gleicher Signatur. Da kannst du nicht irgendetwas dranhängen. Wenn du aber das Label newserver als Member-Variable ablegen würdest, dann kannst du darauf auch aus der Event-Funktion zugreifen.

    Grüssli



  • Danke hab die Lösung:

    button.Click += delegate {
                ...
    };
    

    MfG Hanashi


Anmelden zum Antworten