public TaskControl(CopyTask task) { this.task = task; task.OptionGui = this; InitializeComponent(); task.OnNewStatus += Task_OnNewStatus; UpdateStatus(); }
public static void AddTask(CopyTask task) { lock (InstanceKey) { if (Instance == null) { Instance = new MainForm(); Thread t = new Thread(new ThreadStart(() => { Instance.ShowDialog(); })); t.SetApartmentState(ApartmentState.STA); t.Start(); } while (!Instance.IsHandleCreated) { Thread.Sleep(20); } Instance.BeginInvoke((Action)(() => { Instance.AddTaskInternal(task); })); } }
void AddTaskInternal(CopyTask task) { //Add controls.TryAdd(task, null); RefreshTasks(); }