Avatar billede hanzi_cool Nybegynder
22. juni 2004 - 15:42 Der er 2 kommentarer og
1 løsning

Raise Event

Jeg har en form (frmMain) og en class (clsServer).


private void Load()
{
clsServer srv = new clsServer();
srv.onData = new EventHandler(TestCall);
srv.Test();
}

private void TestCall(string s)
{
    Console.WriteLine(s);
}





I class’en clsServer:

public ? onData;

public test()
{
    Her ville jeg så gerne Raise (invoke eller hvad det hedder) den funktion der er defineret som onData
}


___________________________

Men hvordan skal jeg skrive den kode i class'en?
Og er koden i form'en korrekt?
Avatar billede bennytordrup Nybegynder
22. juni 2004 - 15:43 #1
clsServer:

public System.EventHandler onData;

public test() {
  if (onData != null)
    onData();
}
Avatar billede hanzi_cool Nybegynder
22. juni 2004 - 17:27 #2
Det var lidt mere avanceret... men du får da points for dit besvær!

--------

private void Form1_Load(object sender, System.EventArgs e)
{
    Tester t = new Tester();
    t.onData += new Tester.onDataEventHandler (Testing);
    t.Test();
}



private void Testing(object sender, TestEventArgs e)
{
    Console.WriteLine(e.sSvar);
}


--------


public class Tester
{
    public delegate void onDataEventHandler(object sender, TestEventArgs e);
    public event onDataEventHandler onData;

    public Tester()
    {

    }


    public void Test()
    {
        TestEventArgs e = new TestEventArgs("hej");
        onData(this, e);
    }
}


public class TestEventArgs : EventArgs
{
    public TestEventArgs(string sSvar)
    {
        this.sSvar = sSvar;
    }

    public string sSvar;
}
Avatar billede bennytordrup Nybegynder
23. juni 2004 - 08:22 #3
Hvis du skal have specielle oplysninger med til event modtageren, så er det måden at gøre det på.

Hvis det kun er en notification, kan du sagtens bruge System.EventArgs og System.EventHandler.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester