Hallo ,
ich habe das Problem das , dass ich auf einen Button klicke und ich will erst nach 30 Sekunden das eine bestimmte Methode aufgerufen wird .
Bsp.: Ich klicke auf den Button aber erst nach 30 Sekunden soll eine PictureBox geaddet werden .
Ich habe schon verschiedene Ansaätze probiert mit z.B.
private void delay()
{
int mySec = DateTime.Now.Second;
if (mySec < 30)
mySec += 30;
else
mySec -= 30;
int prog = DateTime.Now.Second;
prog++;
do
{
if (prog == DateTime.Now.Second)
{
if (prog == 60)
prog = 0;
progressBar1.Value++;
prog++;
}
} while (mySec != DateTime.Now.Second);
progressBar1.Value = 0;
}
Dies funktioniert auch jedoch kann ich während dieser 30 Sekunden keine Interaktionen ausführen , sondern erst nach den 30 Sekunden.
Ich habe auch Probiert einen Timer zu starten beim Button klick ,einen Wert hochzuzählen und in einer While -Schleife auf != 30 abgefragt aber er macht keien Timer_Ticks während er die Schleife bearbeitet.
Dann dachte ich mir ich nutze Threads , doch ich will die Picturebox in einer Matrix ("Jedes Element wird in einem Quadranten in der Matrix gespeichert , um zB. die Koordinaten , der neben an liegenden Quadranten zu erfahren , um dort die Picturebox zu adden")speichern und von daher muss ich beim Thread start die Matrix übergeben .
Ich habe mich an folgendem versucht :
class MyThread
{
Thread Thread;
public MyThread(Matrix mX)
{
//Diese Zuweisung funktioniert nicht !!
this.Thread = new Thread(new ParameterizedThreadStart(AddSoldierThread));
this.Thread.Start(mX);
}
public static void AddSoldierThread( Matrix mix)
{
//Hier soll eine Zwitschleife hin und nach der will ich auf die Matrix zugreifen
//Zugriff auf die Matrix
}
Jedoch bekomme ich Folgenden Fehler :
Fehler 1 Keine Überladung für "AddSoldierThread" stimmt mit dem Delegaten "...
Ich habe bei 2 Foren , genau sowas gefunden aber Irgendwie mache ich einen Fehler oder .
Fals jmd eine Bessere Idee hat dies zu realisieren Bitte ich auch um Antwort .I
MfG Oxy