如何传递datagridview值到另一个形式
本文关键字:另一个 何传递 datagridview | 更新日期: 2023-09-27 18:09:17
我正在使用我的c# windows应用程序,在这个应用程序中命名为"patients"和其他命名为"patientsDuplicatedName",其中包含datagridview和加载所有重复的患者名称(这和工作正常,,)但我想当选择行得到所有值到形式"患者"在运行时(已经打开),而不创建新的形式"患者"..下面是我所指的代码:
public partial class frmPatientsNameDuplicated : Form
{
PatientFiles frmPatientsFiles =new PatientFiles() ;
public frmPatientsNameDuplicated()
{
InitializeComponent();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnOk_Click(object sender, EventArgs e)
{
frmPatientsFiles.txtFileNum.Text = this.dgvPatientsName.CurrentRow.Cells[0].Value.ToString();
frmPatientsFiles.txtArbName.Text = this.dgvPatientsName.CurrentRow.Cells[1].Value.ToString();
frmPatientsFiles.txtEngName.Text = this.dgvPatientsName.CurrentRow.Cells[2].Value.ToString();
//frmPatientsFiles.show();//this line is creating new form and run
this.Close();
}
}
对不起,我的英语不好&提前感谢
被注释掉的行frmPatientsFiles.show()
有一个注释,说该行正在创建一个新表单。事实并非如此。它只是显示之前在PatientFiles frmPatientsFiles = new PatientFiles();
线上创建的表单,这似乎正在创建您不想要的新表单。如果你已经有一个现有的表单,你想要更新,从你的btnOk_Click
事件处理程序引用该表单。要做到这一点,您可能希望通过构造函数或其他方法/属性将对(现有)表单的引用传递给类。我希望我正确理解了你的问题。
我在这里发现了同样的问题:将数据传递给现有表单所以我的代码变成了
public partial class frmPatientsNameDuplicated : Form
{
PatientFiles frmPatientsFiles = Application.OpenForms["PatientFiles"] as PatientFiles;
public frmPatientsNameDuplicated()
{
InitializeComponent();
}
private void btnCancel_Click(object sender, EventArgs e)
{
this.Close();
}
private void btnOk_Click(object sender, EventArgs e)
{
frmPatientsFiles.txtFileNum.Text = this.dgvPatientsName.CurrentRow.Cells[0].Value.ToString();
frmPatientsFiles.txtArbName.Text = this.dgvPatientsName.CurrentRow.Cells[1].Value.ToString();
frmPatientsFiles.txtEngName.Text = this.dgvPatientsName.CurrentRow.Cells[2].Value.ToString();
this.Close();
}
}