private void ProcedureTable_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { CurrencyManager cm = (CurrencyManager)this.BindingContext[ProcedureTable.DataSource]; Procedure_Table p = new Procedure_Table(); switch (Camera[0].Procedure[cm.Position].ProcedureMethod) { case (int)procedure_M.readimage: //載入圖片函式 AccessImage readthefuckingimage = new AccessImage(); //由檔案載入圖片 readthefuckingimage.ImagefromFile(); //設定顯示視窗 //readthefuckingimage.setwindow(MainWindow.HalconWindow); if (readthefuckingimage.getObject().Image != null) { p.procedurefunction.doprocedurefunction += readthefuckingimage.show; Camera[0].Object[cm.Position] = readthefuckingimage.getObject(); Camera[0].Procedure[cm.Position].Setornot = true; } break; case (int)procedure_M.Measure: Measure M_temp = (Measure)Camera[0].Procedure[cm.Position].SettingForm; if (cm.Position != 0) { M_temp.MeasureImage = Camera[0].Object[cm.Position - 1].Image; } M_temp.ShowDialog(); M_temp = (Measure)Camera[0].Procedure[cm.Position].SettingForm; Camera[0].Procedure[cm.Position].Setornot = M_temp.setornot; break; case (int)procedure_M.CreateMatchingModel: CreateMatchingModel C_temp = (CreateMatchingModel)Camera[0].Procedure[cm.Position].SettingForm; //if (cm.Position != 0) //{ // C_temp.MeasureImage = Camera[0].Object[cm.Position - 1].Image; //} C_temp.ShowDialog(); C_temp = (CreateMatchingModel)Camera[0].Procedure[cm.Position].SettingForm; Camera[0].Procedure[cm.Position].Setornot = C_temp.setornot; break; } setProcedurecolor(0); }
private void 建立匹配ModelToolStripMenuItem_Click(object sender, EventArgs e) { //控制項目前cell位置 CurrencyManager cm = (CurrencyManager)this.BindingContext[ProcedureTable.DataSource]; //設定Procedure_Table顯示字串 Procedure_Table p = new Procedure_Table(); Object_Table O = new Object_Table(); p.ProcedureName = "CreateMatchingModel"; p.Setornot = false; p.ProcedureMethod = (int)procedure_M.CreateMatchingModel; p.SettingForm = new CreateMatchingModel(); Camera[0].Procedure.Insert(cm.Position + 1, p); Camera[0].Object.Insert(cm.Position + 1, O); //重新排序Procedure編號 remarkProcedure(0); //更新表格 if (cm != null) { cm.Refresh(); ProcedureTable.ClearSelection(); if (ProcedureTable.RowCount < cm.Position + 1) { ProcedureTable.Rows[cm.Position + 1].Selected = true; } else { ProcedureTable.Rows[cm.Position].Selected = true; } } setProcedurecolor(0); }
int clk = 0;//載入圖片序數 private void 載入圖片ToolStripMenuItem_Click(object sender, EventArgs e) { //控制項目前cell位置 CurrencyManager cm = (CurrencyManager)this.BindingContext[ProcedureTable.DataSource]; //設定Procedure_Table顯示字串 Procedure_Table p = new Procedure_Table(); Object_Table O = new Object_Table(); p.ProcedureName = "載入圖片" + clk; p.Setornot = false; p.ProcedureMethod = (int)procedure_M.readimage; Camera[0].Procedure.Insert(cm.Position + 1, p); Camera[0].Object.Insert(cm.Position + 1, O); clk++; //重新排序Procedure編號 remarkProcedure(0); //更新表格 if (cm != null) { //更新表單(會將所有設定清除....) cm.Refresh(); //新增之後將cm移至新增的項目上 ProcedureTable.ClearSelection(); if (ProcedureTable.RowCount < cm.Position + 1) { ProcedureTable.Rows[cm.Position + 1].Selected = true; } else { ProcedureTable.Rows[cm.Position].Selected = true; } } //設定Procedurecolor 依照是否已經設定好參數 setProcedurecolor(0); }