Vous pouvez créer un événement sur votre composant appelé quelque chose comme «UpChanged» et vous abonner à l'événement. Quand vous arrivez au code qui ne peut s'exécuter que lorsque le composant est dans l'état 'Up', vous pouvez définir un drapeau qui indique que votre 'tâche' attend que l'état 'up' change. Quelque chose comme ceci:
//When you initialize
var e = ...;
e.UpChanged += new EventHandler(Component_UpChanged);
bool waitingForUp = false;
//The code snippet that is waiting for up to be enabled
if (!e.ComponentUp)
waitingForUp = true;
else
DoWorkHere();
//The delegate
void Component_UpChanged(object sender, EventArgs e)
{
if (e.ComponentUp && waitingForUp)
DoWorkHere();
waitingForUp = false;
}
pouvez-vous remplir var e = ...; – peter
Quelle est la portée de 'waitingForUp'? –
@peter Je ne sais pas où/comment vous initialisez votre composant @steven dépend de la conception globale de l'application. Le composant lui-même pourrait encapsuler cette logique "d'enregistrement de tâche" s'il y a beaucoup de différents types de tâches qui sont dans le mode d'attente. Ou, le code appelant pourrait surveiller l'état. – cordialgerm