【发布时间】:2015-09-23 14:04:30
【问题描述】:
我有一个名为frmMain 的主窗体,两个名为txtCustomer 和txtProduct 的文本框以及两个名为btnInsertCustomer 和btnInsertProduct 的按钮。
然后我有两个表单,分别称为 frmCustomer 和 frmProduct。在每个表单中,我都有一个 dataGridView,分别显示客户和产品的信息。
例如,当我单击btnInsertCustomer 时,我想要打开frmCustomer,我可以双击此表单中的dataGridView。当我这样做时,它应该将字段customerCode 的值插入frmMain 中的txtCustomer。
然后我想点击btnInsertProduct 和frmProduct 将打开,我可以双击dataGridView 上的一行并将字段productCode 的值插入txtProduct in frmMain 而不会丢失我之前插入的txtCustomer 的值。
使用我当前的方法,我只能从其中一个表单中获取一个值到我的主表单中。我将txtCustomer 和txtProduct 的标识符分配给公共。然后在CellDoubleClick 的dataGridView 的frmCustomer 的事件上我写了这段代码:
frmMain fr = new frmMain();
fr.txtCustomer = dgv1FrmCustomer.SelectedRows[0].Cells[1].Value.ToString();
fr.Show();
和frmProduct 的代码相同。这种方法的问题是我只能从一个表单中获取数据。当我打开另一个表单并选择一行时,前一个文本框中的数据消失了。我想知道如何从这两种表单中获取数据?
【问题讨论】:
-
我不确定我是否完全理解您的场景,但您正在实例化一个新的 frmMain 对象,因此除非您重载构造函数,否则它不会知道其他 frmMain 对象的任何信息。
标签: c# forms datagridview parameter-passing