| Csharp, dotnet... |
progressbar, statusbar, invoke, invokerequiredprivate void btOk_Click(object sender, System.EventArgs e) { // OK on demarre la statusbar // dans le thread de l’IHM statusBar.Start(); (......) // OK creation d'un thread ThreadPool.QueueUserWorkItem(new WaitCallback(threaded_btOk_Click), infos);
private void threaded_btOk_Click(object state) { // OK recupération des parametres maClasse infos = (maClasse)state; // on fait ici tous les traitements que l’on veut dans le thread // sauf ceux qui touche a l’IHM (pas possible de modifier une IHM en dehors de son thread principal) (...) // les modifications de l’IHM sont faites dans une autre méthode callback_btOk_Click(reponse); } private void callback_btOk_Click(object returnValue) { // Au premier appel on vient du second thread // L’invoke permet d’executer cette méthode dans le thread de l’IHM et donc on peut modifier l’IHM if (InvokeRequired) { Invoke(new WaitCallback(callback_btOk_Click), new object[]{returnValue}); return; } (.....) //On peut arreter la status bar qui a été démarrée dans le thread principal... statusBar.Stop(); } 15:59 - 16/04/2008 - poster commentaire
|
Description Quelques notes sur csharp et dotnet
Accueil Archives Amis Articles Recents - System.Diagnostics simple ou pour les nuls, exemple - Faire des mutex en CSharp - progressbar, statusbar, invoke, invokerequired - dot.net csharp profiler profile - Log4net : traces applicatives dans dotnet : mise en place rapide et sale Amis - ben - Christelle - bartheju - REBRAB - BizigDu |
||||||||||||||||||||||||||||||||||||||||||||