private void button_Click(object sender, EventArgs e) { if (iniPro) { return; } Button btn = ( Button )sender; EstPlanOp epo = new EstPlanOp(); switch (btn.Name) { case "buttonFromPlan": Func <DialogResult> dialogNewLoad = DMessage.DialogNewLoad; if (dialogNewLoad() == DialogResult.No) { return; } loadPlanningData(dataGridView1); buttonNumbering(dataGridView1); buttonFromPlan.Enabled = false; break; case "buttonPrevData": if (cpg > 0) { cpg--; viewData(cpg); } break; case "buttonNextData": if (cpg < osd.Length - 1) { cpg++; viewData(cpg); } break; case "buttonCopyAndNext": clearOutsourceContAmount(dataGridView1); OutsourceData[] newOsd = new OutsourceData[osd.Length + 1]; Array.Copy(osd, newOsd, Math.Min(osd.Length, newOsd.Length)); newOsd[newOsd.Length - 1] = ( OutsourceData )osd[cpg].Clone(); newOsd[newOsd.Length - 1].OutsourceID = 0; osd = newOsd; buttonGrpDisabled(); buttonPrevData.Enabled = true; buttonNew.Enabled = true; cpg++; break; case "buttonClose": this.Close(); break; case "buttonReCalc": reCalculateAll(dataGridView1); break; case "buttonOverWrite": Func <DialogResult> dialogOverWrite = DMessage.DialogOverWrite; if (dialogOverWrite() == DialogResult.No) { return; } if (checkAndStoreLatestOutsourceData(cpg)) { viewOutsourceDataToForm(cpg, dataGridView1); } else { epo.UpdateOutsource(osd[cpg]); epo.UpdateOutsourceCont(dataGridView1, osd[cpg].OutsourceID); } break; case "buttonNew": storeLatestOutsourceData(cpg); viewOutsourceDataToForm(cpg, dataGridView1); initialViewSetting(cpg); //buttonGrpEnabled(); break; case "buttonDelete": Func <DialogResult> dialogDelete = DMessage.DialogDelete; if (dialogDelete() == DialogResult.No) { return; } epo.DeleteOutsourceCont(osd[cpg].OutsourceID); epo.DeleteOutsource(osd[cpg].OutsourceID); cpg--; initialViewSetting(cpg); break; case "buttonCancel": Func <DialogResult> dialogCancel = DMessage.DialogCancel; if (dialogCancel() == DialogResult.No) { return; } dataGridView1.Rows.Clear(); dataGridView1.Rows.Add(iniRCnt); break; case "buttonPrintContent": createExcelFile("外注内訳書.xlsx", "OsContent"); break; case "buttonPrintOrder": createExcelFile("注文書.xlsx", "OsOrder"); break; case "buttonPrintConfirm": createExcelFile("注文請書.xlsx", "OsConfirm"); break; default: break; } edit_lblPageNo(); }