2010-06-29 4 views
0

Je reçois cette erreur: Invoke ou BeginInvoke ne peuvent pas être appelés sur un contrôle tant que le handle de fenêtre n'a pas été créé.Invoke ou BeginInvoke ne peuvent pas être appelés sur un contrôle tant que le handle de fenêtre n'a pas été créé

Sur ces lignes:

 m_SplashForm.Invoke(
       new SplashStatusChangedHandle(delegate(string str) { m_SplashInterface.SetStatusInfo(str); }), 
       new object[] { value } 
      ); 

Je suis en train d'utiliser Application.Exit()

Quelqu'un peut-il me aider?

Merci à l'avance

+0

en double de http://stackoverflow.com/questions/808867/invoke-or-begininvoke-cannot-be-called-on-a-control-until-the-window-handle-has –

Répondre

0

crochet à l'événement Control.OnHandleCreated alors vous serez permited faire Application.Exit().

1

Le message d'erreur dit à peu près tout ici. Invoke et BeginInvoke ne peuvent pas être utilisés sur un contrôle tant que le handle sous-jacent n'est pas créé. Cela se produit généralement lorsque le formulaire est initialement affiché. N'avez-vous pas affiché le formulaire?

Vous pouvez également forcer le problème en appelant la méthode CreateControl.

+1

Attention avec ce commentaire CreateControl . L'échec que vous obtiendriez en l'appelant à partir du thread sera * très * difficile à diagnostiquer. –

Questions connexes