Hi,
ich muss in meinem Programm eine Anfrage über das Internet schicken und bekomme als integer wert zurück, wann ich die nächste Anfrage schicken darf.
private int anfrage(string frage);
Jetzt habe ich eine GUI wo immer angezeigt wird, in wievielen Sekunden die nächste Anfrage geschickt wird.
Ich wollte das ganze so lösen:
csharp Code:
das funktioniert aber nicht, da sich die Windows Form dann aufhängt, e klar eigentlich.
dann hab ich mir gedacht - tja... es gibt ja sowas wie Threads, ich kenn mich damit nicht wirklich aus, aber ich weiß, wie man einen neuen Thread erzeugt und startet *g*
dann hab ich das gemacht:
csharp Code:
Das funktioniert aber auch nicht, weil ich nicht auf this.myLabelText.Text zugreifen darf, weil das in einem anderen Thread liegt oder so.
Weiss jemand wie ich das lösen soll?
btw, ich habe VS 2005 also .NET 2.0
danke, yan1
ich muss in meinem Programm eine Anfrage über das Internet schicken und bekomme als integer wert zurück, wann ich die nächste Anfrage schicken darf.
private int anfrage(string frage);
Jetzt habe ich eine GUI wo immer angezeigt wird, in wievielen Sekunden die nächste Anfrage geschickt wird.
Ich wollte das ganze so lösen:
csharp Code:
- int zeit = anfrage ("anfrage);
- for (int i = 0; i < zeit; i++)
- {
- this.myLabel.Text = "Noch " + ( (int)(zeit - i)).ToString() + "sek. bis zur nächsten Anfrage";
- this.Update();
- Thread.Sleep(TimeSpan.FromSeconds(1));
- }
das funktioniert aber nicht, da sich die Windows Form dann aufhängt, e klar eigentlich.
dann hab ich mir gedacht - tja... es gibt ja sowas wie Threads, ich kenn mich damit nicht wirklich aus, aber ich weiß, wie man einen neuen Thread erzeugt und startet *g*
dann hab ich das gemacht:
csharp Code:
- private myMethod()
- {
- Thread thread = new Thread(this.threadStart());
- thread.Start();
- }
- void threadStart()
- {
- int zeit = anfrage ("anfrage);
- for (int i = 0; i < zeit; i++)
- {
- this.myLabel.Text = "Noch " + ( (int)(zeit - i)).ToString() + "sek. bis zur nächsten Anfrage";
- this.Update();
- Thread.Sleep(1);
- }
- }
Das funktioniert aber auch nicht, weil ich nicht auf this.myLabelText.Text zugreifen darf, weil das in einem anderen Thread liegt oder so.
Weiss jemand wie ich das lösen soll?
btw, ich habe VS 2005 also .NET 2.0
danke, yan1
Zuletzt bearbeitet: