public static void executeTask(ITask task, Control controlToHostTask, TaskEvents.TaskEvent_StatusChanged onTaskStatusChange) { if (controlToHostTask != null && controlToHostTask.InvokeRequired) { controlToHostTask.Invoke(new EventHandler(delegate { executeTask(task, controlToHostTask, onTaskStatusChange); })); } else { task.onTaskStatusChange += onTaskStatusChange; var taskControl = new ascx_Task(new TaskThread(task)); if (controlToHostTask != null) { controlToHostTask.Controls.Add(taskControl); } taskControl.startTask(); } }
public static void executeTask(ITask task, TaskEvents.TaskEvent_StatusChanged onTaskStatusChange) { executeTask(task, null, onTaskStatusChange); }