Вы можете запустить периодическую проверку сервиса с помощью объекта Timer. Вы можете запускать запросы на обслуживание для события Elapsed.
private void t_Elapsed(object sender, ElapsedEventArgs e)
{
// Check service statuses
}
Что касается отображения статусов в текстовом поле, вы должны иметь возможность использовать метод ToString () для статуса сервиса и отображать его в обычном текстовом поле. Помните, что вы можете, а можете и не быть в потоке GUI, когда реагируете на события таймера, поэтому вам нужно вызвать себя в главном потоке.
private delegate void TextUpdateHandler(string updatedText);
private void UpdateServerStatuses(string statuses)
{
if (this.InvokeRequired)
{
TextUpdateHandler update = new TextUpdateHandler(this.UpdateServerStatuses);
this.BeginInvoke(update, statuses);
}
else
{
// load textbox here
}
}