Ci-dessous, les différences entre deux révisions de la page.
invoke [2015/04/27 20:01] 82.228.9.53 |
invoke [2017/12/06 16:13] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ==== Invoke ==== | ||
- | Un Thread ne peut pas executer directement une méthode d'un autre Thread, il faut passer par une invocation. | ||
- | |||
- | Exemple : | ||
- | <code csharp |Exemple Invoke> | ||
- | void DoTask() | ||
- | { | ||
- | if (InvokeRequired) | ||
- | { | ||
- | BeginInvoke(new MethodInvoker(DoTask)); | ||
- | return; | ||
- | } | ||
- | progressBar1.Value++; | ||
- | } | ||
- | </code> | ||
- | |||
- | Invoke dans une méthode avec des paramètres | ||
- | |||
- | <code csharp |Exemple Invoke> | ||
- | void DoTask(string msg, int value) | ||
- | { | ||
- | if (InvokeRequired) | ||
- | { | ||
- | Invoke(new MethodInvoker(() => DoTask(msg, value))); | ||
- | return; | ||
- | } | ||
- | progressBar1.Value++; | ||
- | } | ||
- | </code> |