Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Event in Form aus Klasse starten
icolor
myCSharp.de - Member



Dabei seit:
Beiträge: 115
Herkunft: aus dem Ei

Themenstarter:

Event in Form aus Klasse starten

beantworten | zitieren | melden

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.
private Nachricht | Beiträge des Benutzers
Console32
myCSharp.de - Member



Dabei seit:
Beiträge: 258

beantworten | zitieren | melden

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 ;)
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Console32 am .
private Nachricht | Beiträge des Benutzers
icolor
myCSharp.de - Member



Dabei seit:
Beiträge: 115
Herkunft: aus dem Ei

Themenstarter:

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
DerKleineTomy
myCSharp.de - Member



Dabei seit:
Beiträge: 96

beantworten | zitieren | melden

Zitat
Was mache ich denn jetzt noch falsch?

public static event KennwortDouble<EventNameEventArgs> OnKennwortDouble
muss heißen:

public static event EventHandler<EventNameEventArgs> OnKennwortDouble;

Events
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von DerKleineTomy am .
private Nachricht | Beiträge des Benutzers
Programmierhans
myCSharp.de - Experte

Avatar #avatar-1651.gif


Dabei seit:
Beiträge: 4.221
Herkunft: Zentralschweiz

beantworten | zitieren | melden

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...
private Nachricht | Beiträge des Benutzers