Es ist nicht viel Code, den Sie gepostet haben, aber ich würde es versuchen. Ich sehe in Ihrem Code keine bool
Variable. Sie sollten wahrscheinlich einen haben, in dem Sie den aktuellen Status speichern würden.
da Sie schreiben den Wert in die TextBox
Sie könnten den Timer starten, die MMbach gleich nach der Linie vorgeschlagen:
sqlserver_status.Text = "Active";
// start timer here
wann immer weiter in dieser Status ändert kodieren, können Sie den Timer stoppen würde und prüfen Sie die verstrichene Zeit. Sie können auch die StopWatch-Klasse verwenden. Es hat eine Eigenschaft namens Elapsed
die:
Ruft die Gesamt von der aktuellen Instanz gemessenen verstrichenen Zeit.
Wenn Sie es im Hintergrund ausführen müssen, würde ich empfehlen, für die Timer
gehen.
Unten ist eine kleine Demo mit einem System.Diagnostics.Stopwatch
realisiert. Es gibt viel mehr Erkenntnis zu diesem Problem. Es hängt immer von der Struktur Ihres Programms ab, welche Realisierung besser oder schlechter ist.
Dies ist eine kleine Konsole Anwendung, wo Sie entscheiden, wenn die State
Variable ändern. Es wird Ihren Entscheidungsprozess überwachen.
public class TimeDemo
{
// Property to catch the timespan
public TimeSpan TimeOfState { get; set; }
// Full Property for the state
private bool state;
public bool State
{
get { return state; }
set
{
// whenever a new state value is set start measuring
state = value;
this.TimeOfState = StopTime();
}
}
// Use this to stop the time
public System.Diagnostics.Stopwatch StopWatch { get; set; }
public TimeDemo()
{
this.StopWatch = new System.Diagnostics.Stopwatch();
}
//Method to measure the elapsed time
public TimeSpan StopTime()
{
TimeSpan t = new TimeSpan(0, 0, 0);
if (this.StopWatch.IsRunning)
{
this.StopWatch.Stop();
t = this.StopWatch.Elapsed;
this.StopWatch.Restart();
return t;
}
else
{
this.StopWatch.Start();
return t;
}
}
public void Demo()
{
Console.WriteLine("Please press Enter whenever you want..");
Console.ReadKey();
this.State = !this.State;
Console.WriteLine("Elapsed Time: " + TimeOfState.ToString());
Console.WriteLine("Please press Enter whenever you want..");
Console.ReadKey();
this.State = !this.State;
Console.WriteLine("Elapsed Time: " + TimeOfState.ToString());
Console.WriteLine("Please press Enter whenever you want..");
Console.ReadKey();
this.State = !this.State;
Console.WriteLine("Elapsed Time: " + TimeOfState.ToString());
}
}
Möglicherweise können Sie es nach Ihrem Fall anpassen.
Gut, dass Sie das tun möchten. Was hast du bis jetzt gemacht? –
nichts bro thats, warum ich hier bin .thas ist das letzte, was remining .task mir gegeben –
Menschen neigen zu non-reactions und downvotes, wenn eine Frage ohne irgendwelche sichtbaren Bemühungen, das Problem anzugehen und wenn Fragen mit "I wollen "oder" ich brauche ". –