locomarco
Commander
- Dabei seit
- Aug. 2009
- Beiträge
- 2.446
Hi,
hab mir in WPF ein Programm geschrieben, das in der rechten-unteren Bildschirmecke Notifications (wie zb. von Steam oder MSN) anzeigt.
In nem Timer hab ich diesen Code stehen:
Das wait() ist dafür, das die Notification 4 Sekunden lang oben bleibt, ich denke das ist ersichtlich.
Damit ich mehrere Notifications anzeigen lassen kann, rufe ich das wait() in nem anderen Thread auf, ansonsten reagiert mein MainWindow ja nicht mehr.
Wenn ich mein Programm in VS debugge, läuft alles wunderbar ohne Fehler.
Starte ich das Programm aber einfach so, gibts ab der zweiten Notification folgenden Fehler:
Zeile 60 ist die Rot markierte.
Ich hoffe ihr könnt mir da weiterhelfen.
Grüße
hab mir in WPF ein Programm geschrieben, das in der rechten-unteren Bildschirmecke Notifications (wie zb. von Steam oder MSN) anzeigt.

In nem Timer hab ich diesen Code stehen:
Code:
if (directionIsUp)
{
if (this.Top > workAreaSize.Height - this.Height)
{
this.Top -= 1;
}
else
{
//wait();
[COLOR="Red"][B]Thread waitThread = new Thread(new ThreadStart(this.wait));[/B][/COLOR]
waitThread.Start();
}
}
Code:
void wait()
{
System.Threading.Thread.Sleep(4000);
directionIsUp = false;
}
Das wait() ist dafür, das die Notification 4 Sekunden lang oben bleibt, ich denke das ist ersichtlich.
Damit ich mehrere Notifications anzeigen lassen kann, rufe ich das wait() in nem anderen Thread auf, ansonsten reagiert mein MainWindow ja nicht mehr.
Wenn ich mein Programm in VS debugge, läuft alles wunderbar ohne Fehler.
Starte ich das Programm aber einfach so, gibts ab der zweiten Notification folgenden Fehler:
Code:
System.OutOfMemoryException: Eine Ausnahme vom Typ "System.OutOfMemoryException" wurde ausgelöst.
bei System.Threading.Thread.StartInternal(IPrincipal principal, StackCrawlMark& stackMark)
bei System.Threading.Thread.Start(StackCrawlMark& stackMark)
bei System.Threading.Thread.Start()
bei WpfApplication1.Window1.dt1_Tick(Object sender, EventArgs e) in Window1.xaml.cs:Zeile 60.
Zeile 60 ist die Rot markierte.
Ich hoffe ihr könnt mir da weiterhelfen.
Grüße