C#: Keine Überladung für "button1_Click" stimmt mit dem Delegaten "EventHandler" überein?
Der Fehler:
Keine Überladung für "button1_Click" stimmt mit dem delegaten "EventHandler" überein.
bringt mich zu einer Zeile in der steht:
this.button1.Click += new System.EventHandler(this.button1_Click);
Diese Zeile steht im Abschnitt:
//
// button1
//
this.button1.Location = new System.Drawing.Point(618, 169);
this.button1.Name = "button1";
this.button1.Size = new System.Drawing.Size(75, 23);
this.button1.TabIndex = 34;
this.button1.Text = "Enter";
this.button1.UseVisualStyleBackColor = true;
this.button1.Click += new System.EventHandler(this.button1_Click);
Kann mir jemand helfen? Hier ist noch ein Bild:
1 Antwort
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Computer, programmieren
Dann hast Du wohl die die Parameter in der Funktionsdeklaration für deinen Handler Delegaten falsch definiert... Wahrscheinlich sowas:
private void Button1_Click(){
//Mach was...
}
Wir sind hier nicht in JavaScript...😅
...geht natürlich so nicht... Deine Funktion sollte schon die Parameter definieren, welche immer automatisch an sie übergeben werden.
private void Button1_Click(object sender, EventArgs e){
//Mach was...
}
ob du die Parameter in der Funktion verwendest ist völlig egal .
In der Praxis siehts dann so aus:
using System;
using System.Drawing;
using System.Windows.Forms;
public class Form1 : Form {
private Button Button1; //MachWasKnopf :p
private Label Display1;
public Form1() {
this.Size = new Size(600,140);
Display1 = new Label();
Display1.Text = "Der MachWasKnopf wurde noch nicht gedrückt";
Display1.Location = new Point(10, 20);
Display1.AutoSize = true;
this.Controls.Add(Display1);
Button1 = new Button();
Button1.Text = "Mach Was";
Button1.Location = new Point(10, 40);
Button1.Click += new System.EventHandler(Button1_Click);
this.Controls.Add(Button1);
}
private void Button1_Click(object sender, EventArgs e){
//Alles was bei Click bassiernen soll
Button1.Enabled = false;
Display1.Text = "Der MachWasKnopf wurde bereits gedrückt";
}
static void Main() {
Application.EnableVisualStyles();
Application.Run(new Form1());
}
}