Ich habe diese Schaltfläche mit dem folgenden CodeMethodenname erwartet/keine Überlastung Spiele delegieren
newEnterPass pass = new newEnterPass();
private void truncateEmp_Click(object sender, EventArgs e) //TRUNCATE EMPLOYEES
{
if (pass.ShowDialog(this) == DialogResult.OK)
{
pass.proceed.Click += new EventHandler<newEnterPass>(pass.truncateEmp(sender,e));
}
}
Es gibt mir den Fehler Method name expected
. Wenn ich den Code entfernen (sender, e)
dann wird es mir geben einen anderen Fehler
No overload for 'truncateEmp' matches delegate System.EventHandler<cms.newEnterPass>'
Hier ist der Code von truncateEmp
aus der Klasse newEnterPass
public void truncateEmp(object sender, EventArgs e)
{
string pass = passField.Text;
if (pass == "")
{
MessageBox.Show("Did you input something? I doubt it.");
return;
}
bool r = validate_login(pass);
if (r)
{
db_connection();
MySqlCommand cmd = new MySqlCommand();
cmd.CommandText = "TRUNCATE TABLE Employees";
cmd.Connection = connect;
cmd.ExecuteNonQuery();
MessageBox.Show("Success!", "TRUNCATE", MessageBoxButtons.OK, MessageBoxIcon.Information);
logs.LogThatShit_TruncateEmp();
this.Close();
passField.Clear();
connect.Close();
}
else
{
MessageBox.Show("Wrong password!", "TRUNCATE", MessageBoxButtons.OK, MessageBoxIcon.Error);
passField.Clear();
}
}
Kann jemand helfen? Danke euch allen!
Sie können beim Konstruieren des Delegaten keine Parameter an die Methode übergeben. Versuchen Sie 'new EventHandler (pass.truncateEmp)' stattdessen. –
Warum haben Sie den Klassennamen 'newEnterPass' als generischen Parameter für' EventHandler' angegeben? –
Warum brauchst du ''? Erwähnen Sie einfach '+ = new EventHandler (pass.truncateEmp);' –
praty