我有一个父表单 QuotationDetails,其中有一个名为 ChooseCustomer 的按钮,当我单击它时,会打开一个名为 CustomerSearchForm 的子表单。现在有一个 Datagridview CustomerSearchForm 有两个按钮 OK 和 CANCEL。所以当我从 DGV 中选择一行时,单击确定,该行中的所有详细信息都使用选定的客户客户数据填充到 QuotationDetails(大约 20 个文本框)中。我已经编写了所有代码并且工作正常。但问题是我通过关闭父表单 QuotationDetails 来做到这一点并打开它的一个新实例。但要求是我需要显示父窗体并从子窗体更新文本框。
下面是从 ChildForm 加载客户详细信息的代码
public void btnLoadCustomerDetails_Click(object sender, EventArgs e)
{
QuotationManagement objQM = new QuotationManagement();
string[] Details = new string[gvCustomerDetails.SelectedRows[0].Cells.Count];
for (int i = 1; i < gvCustomerDetails.SelectedRows[0].Cells.Count; i++)
{
Details[i] = gvCustomerDetails.SelectedRows[0].Cells[i].Value.ToString();
}
objQM.txtCustomerdetails.Text = Details[3] + Environment.NewLine + Details[4] + "," + Details[5] + "," + Details[6] + "," + Details[7];
objQM.txtcustContact.Text = Details[3];
objQM.txtCustPhoneno.Text = Details[10];
objQM.txtfaxNo.Text = Details[12];
objQM.txtCustMobile.Text = Details[15];
objQM.txtcustemail.Text = Details[14];
objQM.txtCustWeb.Text = Details[16];
objQM.txtcustsource.Text = Details[29];
objQM.txtCustActivestatus.Text = Details[27];
objQM.txtCustomerType.Text = Details[44];
objQM.txtCustNomAccType.Text = "Customer Quotations";
objQM.txtCustAccStatus.Text = Details[25];
objQM.txtTerms.Text = Details[31];
objQM.txtCurrency.Text = Details[33];
objQM.txtcountryname.Text = Details[9];
objQM.lblCustomermasterId.Text = Details[0];
this.Close();
objQM.tabQuotationManagement.SelectedIndex = 1;
objQM.Show();
}
我已经搜索了一个解决方案,并得到了一个使用 Event 和一个 Delegate 来触发它的想法。
但我不确定如何在我的场景中实现相同的功能。
请指教。
谢谢你。