public void AfterProcessPatch(int im_number, int result) { if (this.InvokeRequired) { SolveDelegate del = new SolveDelegate(() => AfterProcessPatch(im_number, result)); //delegate this.Invoke(del); //call } else { Patch p = patches.Find(t => t.im_number == im_number); Button btnTemp = (Button)tableLayoutPanel1.GetControlFromPosition(p.col, p.row); if (result == 1) // success { btnTemp.FlatAppearance.BorderColor = Color.Green; } else if (result == 0) // miss { btnTemp.FlatAppearance.BorderColor = Color.Red; } btnTemp.Enabled = true; string OutputfileAdrress = tbTestFolder.Text + $"\\Result\\{im_number}.bmp"; btnTemp.BackgroundImageLayout = ImageLayout.Zoom; btnTemp.BackgroundImage = new Bitmap(OutputfileAdrress); } }
public IAsyncResult BeginSolve() { SolveDelegate solveDelegate = new SolveDelegate(Solve); if (SharedState != null) { SharedState.IncrementTotal(); } return(solveDelegate.BeginInvoke(SolveComplete, new AsyncState(solveDelegate))); }
public void OriginScanStop() { if (this.InvokeRequired) { SolveDelegate del = new SolveDelegate(OriginScanStop); //delegate this.Invoke(del); //call } else { btnTestScanStop.Enabled = false; threadOriginScan.Abort(); btnOriginScan.Text = "Scan"; } }
public void TestScanStop() { if (this.InvokeRequired) { SolveDelegate del = new SolveDelegate(TestScanStop); //delegate this.Invoke(del); //call } else { btnTestScanStop.Enabled = false; threadTestScan.Suspend(); threadTestScan = null; btnTestScan.Text = "Scan"; } }
public void CompareStop() { if (this.InvokeRequired) { SolveDelegate del = new SolveDelegate(CompareStop); //delegate this.Invoke(del); //call } else { cts.Cancel(); threadCompare.Abort(); btnCompareStop.Enabled = false; btnCompare.Enabled = true; } }
public void BeforeProcessPatch(int im_number) { if (this.InvokeRequired) { SolveDelegate del = new SolveDelegate(() => BeforeProcessPatch(im_number)); //delegate this.Invoke(del); //call } else { Patch p = patches.Find(t => t.im_number == im_number); Button btnTemp = (Button)tableLayoutPanel1.GetControlFromPosition(p.col, p.row); btnTemp.FlatAppearance.BorderColor = Color.Orange; btnTemp.BackgroundImage = Properties.Resources.loading; } }
private void ShowGrid() { if (this.InvokeRequired) { SolveDelegate del = new SolveDelegate(ShowGrid); //delegate this.Invoke(del); //call } else { int even_odd_row = 0; int col = 0; int row = 0; int im_number = 0; read_gcode_file(tbGcodeFile.Text); tableLayoutPanel1.Controls.Clear(); tableLayoutPanel1.ColumnStyles.Clear(); tableLayoutPanel1.RowStyles.Clear(); tableLayoutPanel1.ColumnCount = Convert.ToInt32(cols_count); tableLayoutPanel1.RowCount = Convert.ToInt32(rows_count); for (int c = 0; c < cols_count; c++) { tableLayoutPanel1.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 100 / cols_count)); for (int r = 0; r < rows_count; r++) { if (c == 0) { tableLayoutPanel1.RowStyles.Add(new RowStyle(SizeType.Percent, 100 / rows_count)); } Button btn = new Button(); btn.FlatStyle = FlatStyle.Flat; btn.FlatAppearance.BorderSize = 2; btn.BackgroundImageLayout = ImageLayout.Center; btn.Anchor = (AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom | AnchorStyles.Left); btn.Margin = new Padding(0); btn.Enabled = false; int cc = c; int rr = r; btn.Click += new EventHandler((_sender, _event) => ShowPatch(_sender, _event, cc, rr)); tableLayoutPanel1.Controls.Add(btn, c, r); im_number++; } } patches = new List <Patch>(); for (int i = 1; i <= im_number; i++) { patches.Add(new Patch(col, row, i)); if (even_odd_row == 0) { col++; if (col >= cols_count) { row++; even_odd_row = 1; col--; } } else if (even_odd_row == 1) { col--; if (col < 0) { row++; even_odd_row = 0; col++; } } } } }
public AsyncState(SolveDelegate solveDelegate) { this.SolveDelegate = solveDelegate; Interlocked.Exchange(ref this.solved, 0); }