Guten Abend,
ich bräuchte da mal einen Anhaltspunkt, in wie fern ich ein Event überladen kann... Bzw. eine Funktion aufrufen kann (die Event-Parameter brauche ich eigentlich gar nicht).
PictureBox pb = new PictureBox();
pb.Click += new MouseEventHandler(NaviClick);//normaler Aufruf
private void NaviClick(object sender, MouseEventArgs evt)//normale Event-Funktion
Ich bräuchte aber eher sowas:
pb.Click += new MouseEventHandler(NaviClick("value"));//überladener Aufruf
private void NaviClick(object sender, MouseEventArgs evt, String val)//Überladene
//oder
private void NaviClick(String val)//Würde mir reichen
Leider habe ich keine Ahnung wonach ich suchen müsste...
Besten Dank Frokuss
System-definierte/Fremde EventArgs erweitern ist nicht.
Musst Dir ein geeigneten Platz zum Zwischenspeichern suchen.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
Warum enttäuschend? Jedes WinForm Control besitzt ein Tag Attribut - dort kannst du doch ohne Probleme Werte zwischenspeichern...
PictureBox pb = new PictureBox();
pb.Tag = "value";
pb.Click += new MouseEventHandler(NaviClick);
In deinem Event kannst du dann über:
private void NaviClick(object sender, MouseEventArgs)
{
string value = this.Tag;
}
darauf zugreifen. Sollte dir ein Wert nicht reichen kannst du ja auch eine Verweis auf deine Klasse in Tag speichern...
Du kannst Dir aber auch eigene Steuerelement bauen und die von dem original Steuerelement ableiten. Da kannst Du dir dann Deine Events selbst definieren.