Hallo Leute,
ich tu mich beim Umsteigen von Visual Baisc 6 auf C# grade ein wenig schwer.
Ich möchte aus einer Klasse heraus in einem Formular eine Funktion anstoßen.
Also habe ich in der Klasse folgendes angelegt:
public delegate void KennwortDouble(Boolean visible);
public static event KennwortDouble OnKennwortDouble;
Meine Frage jetzt. Wie kann ich das weiter benutzen? Ich habe bislang keinen für mich verständlichen Text zu Delegaten gefunden 😦
Ich möchte halt in der Loginmaske ein Eingabefeld sperren oder freischalten, je nachdem was die Klasse zurückgibt.
Ich wäre für kurze Hilfen sehr offen.
Du solltest für events immer EventHandler delegates verwenden / eine eigene EventArgs Klasse definieren.
Und das Prefix "On" steht für die Methode dein ein event feuert nicht für das event Selbst.
public static event EventHandler<EventNameEventArgs> EventName;
public class EventNameEventArgs : EventArgs
{
private bool visible;
public bool Visible
{
get { return visible; }
set { visible = value; }
}
}
public void OnEventName(bool visible)
{
var handle = EventName;
if(handle != null)
handle(this,new EventNameEventArgs { Visible = visible };
}
sprachen mischen finde ich Persönlich immer furchtbar hässlich 😉
Gut, ich danke Dir.
Ich habe jetzt folgenden Code:
namespace Test
{
public class EventNameEventArgs : EventArgs
{
private bool visible;
public bool Visible
{
get { return visible; }
set { visible = value; }
}
}
public partial class TheLogin
{
public static event KennwortDouble<EventNameEventArgs> OnKennwortDouble;
public void OnKennwortDouble(bool visible)
{
// bla bla
}
Dann bekomme ich aber den Fehler: The type or namespace name 'KennwortDouble' could not be found ....
Was mache ich denn jetzt noch falsch?
Was mache ich denn jetzt noch falsch?
public static event KennwortDouble<EventNameEventArgs> OnKennwortDouble
muss heißen:
public static event EventHandler<EventNameEventArgs> OnKennwortDouble;
Die FAQ wird deine Fragen beantworten:
[FAQ] Eigenen Event definieren / Information zu Events (Ereignis/Ereignisse)
Früher war ich unentschlossen, heute bin ich mir da nicht mehr so sicher...