我有一个包含StaffID
的表单,并且表单还有一个“搜索”按钮,当我按下它时,它将打开另一个带有DataGridView
的表单,然后当我双击一行时,它将将所选数据传递到另一种形式
这里的第一个表格First Form here
第二种形式,Second form where data came from
因此在第二个表单上,我将双击一行,然后它将数据字符串发送到第一个表单上的staffID文本框
这是我的代码(打开form2的同时是 form2.ShowDialog())
我的代码将数据发送到第一个表单
private void dgw_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
FrmStaff frmStaff = new FrmStaff();
if (e.RowIndex >= 0)
{
DataGridViewRow row = dgw.Rows[e.RowIndex];
frmStaff.txtStaffID.Text = row.Cells[0].Value.ToString();
}
}
文本框也是修饰符:公共
但是问题是我没有价值。...
答案 0 :(得分:1)
还有另一种方法。通过将全局变量类与静态变量一起使用,只能在main方法中初始化此全局类。
代码应如下所示
public class Globalvaribale()
{
public static string sVale="";
public static string sVale1="";
}
在主要方法中
private void dgw_CellDoubleClick(object sender, DataGridViewCellEventArgs e)
{
FrmStaff frmStaff = new FrmStaff();
if (e.RowIndex >= 0)
{
DataGridViewRow row = dgw.Rows[e.RowIndex];
Globalvaribale.sValue= row.Cells[0].Value.ToString();
string getdata = row.Cells[0].Value.ToString();
Globalvaribale.sValue1 = "Sample";
MessageBox.Show(getdata);
}
}
您也可以将相同的变量与具有相同值的完整应用程序一起使用。
答案 1 :(得分:1)
如果您希望它在双击事件上显示新表单,如图所示,我将修改FrmStaff以将参数带入构造函数。
// In FrmStaff file
private string _staffId;
public FrmStaff(string staffId)
{
_staffId = staffId;
}
然后,当您完成
frmStaff.Show()
现在在呼叫屏幕中将内部具有传递的staffId
希望这有帮助吗?