private void WizardPageResult_Initialize(object sender, AeroWizard.WizardPageInitEventArgs e) { Program.logIt("WizardPageResult_Initialize: "); this.wizardPageResult.ShowNext = false; //this.wizardPageResult.Controls.Add(this.imeiInput1); // load grade { utility.IniFile avia_device = new utility.IniFile(System.IO.Path.Combine(System.Environment.GetEnvironmentVariable("FDHOME"), "AVIA", "AviaDevice.ini")); string grade = avia_device.GetString("device", "grade", "D"); labelGrade.Text = grade; } tokenSource = new CancellationTokenSource(); // start task wait for device loaded Task t = Task.Factory.StartNew((o) => { CancellationToken ct = (CancellationToken)o; // oe control Task tt = Task.Run(() => OEControl.unload()); //OEControl.unload(); utility.IniFile avia_device = new utility.IniFile(System.IO.Path.Combine(System.Environment.GetEnvironmentVariable("FDHOME"), "AVIA", "AviaDevice.ini")); bool done = false; while (!done) { System.Threading.Thread.Sleep(1000); if (ct.IsCancellationRequested) { // camcelled. break; } else { string s = avia_device.GetString("device", "device", ""); if (string.Compare(s, "removed", true) == 0) { done = true; } } } tt.Wait(); // device connect. if (done) { //this.Invoke(new Action(() => wizardControl1.NextPage())); this.Invoke(new Action(() => this.wizardPageResult.ShowNext = true)); } }, tokenSource.Token); }
private void ButtonUnload_Click(object sender, EventArgs e) { OEControl.unload(); }