[C#] Problem mit Event

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von razgoolyy, 10. Juni 2009 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 10. Juni 2009
    Problem mit Event

    Hallo leute

    Ich bin gerade C# am lernen und habe nun ein Problem mit den Events.

    Ich will das mein Programm jedemal, wenn ich den Status in meinem Messneger ändere, den Status ausgiebt.
    Leider bekomme ich die Ausgabe nur das erste Mal z.B. wenn ich von On auf Off stelle, wenn ich dann den Status nochmals ändere, dann passiert nix mehr.

    Hier ist mein Code:
    Code:
     class MSNListener
     {
    
     public MSNListener() {
    
     Messenger msn = new MessengerAPI.Messenger();
     msn.OnMyStatusChange += new DMessengerEvents_OnMyStatusChangeEventHandler(msn_OnMyStatusChange);
     }
    
     void msn_OnMyStatusChange(int i, MISTATUS mStatus)
     {
     Debug.WriteLine("------------");
     Debug.WriteLine(mStatus);
     }
     
     }
    Kann mir da einer weiterhelfen? Muss ich das ganze in einen Thread packen? Oder ist DMessengerEvents_OnMyStatusChangeEventHandler schon ein Thread?

    Edit:

    Meine Main Methode sieht so aus:
    Code:
     public static void Main()
     {
     MSNListener msnListener = new MSNListener();
     Cam bild = new Cam();
    
     while (true) bild.makePicture();
     
    
     }
    Und inzwischen habe ich herausgefunde, wenn ich anstelle von bild.makePicture() irgendetwas sinnloses mache wie bild.ToString dann reagiert der OnMyStatus jedesmal!
    Diese Zeile (while (true) bild.makePicture()) brauche ich da ich noch nicht weis wie es mit den Threads geht bei C# und irgendwie muss ja das Programm am laufen bleiben damit ich testen kann^^

    Hier noch was die makePicture Methode macht^^:
    Code:
     public void makePicture()
     {
     bmpScreenshot = new Bitmap(Screen.PrimaryScreen.Bounds.Width, Screen.PrimaryScreen.Bounds.Height, PixelFormat.Format32bppArgb);
     gfxScreenshot = Graphics.FromImage(bmpScreenshot);
     gfxScreenshot.CopyFromScreen(Screen.PrimaryScreen.Bounds.X, Screen.PrimaryScreen.Bounds.Y, 0, 0, Screen.PrimaryScreen.Bounds.Size, CopyPixelOperation.SourceCopy);
     String name = "C:\\Bilder\\Bild_" + pictureName();
     bmpScreenshot.Save(name, ImageFormat.Jpeg);
     }
    mfg
    razgoolyy
     
  2. 11. Juni 2009
    AW: Problem mit Event

    habe das Problem "gelöst". Arbeite nun mit Threads, doch da ergeben sich nun neue Probleme...

    schliesse hiermit...
     
  3. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.