我正在开发一个应用程序,我必须从2种不同的表单中获取数据以填充相同表单的不同字段
我的工作
我已经从派对形式和带有参数的itemform调用了form1的构造函数 代码表格Itemform
string units = dr.Cells[2].Value.ToString();
string rate = dr.Cells[3].Value.ToString();
Form1 f1 = new Form1( units, rate);
this.Hide();
调试时调用form1上的构造函数
public Form1(string units, string rate)
{
InitializeComponent();
ItemId_LBL.Text = units;
ItemName_TXT.Text = rate;
}
同样的另一种形式,但我不想关闭我的主form1,只关闭其他表单,同时单击按钮构造函数调用但字段未填充为什么
注意:
我必须填写已打开表格FORM1的文本框
答案 0 :(得分:2)
如果Form1已经打开,则表示构造函数已经运行。制作一个setter方法并从其他形式调用该方法。
public void UpdateUnitAndRate(string units, string rate)
{
ItemId_LBL.Text = units;
ItemName_TXT.Text = rate;
}
//put it in form2 (or itemform) as a field
Form1 f1;
//add this in the method or event (in itemform) you want to update units and rates in form1
if (f1 != null)
f1.UpdateUnitAndRate(units, rate);
else
f1 = new Form1(units, rate);
答案 1 :(得分:2)
从另一个表单获取打开表单的对象
Form1 f = (Application.OpenForms[0] as Form1);
f.PName_TXT.Text = name.ToString();
f.PId_LBL.Text = id.ToString();
}
答案 2 :(得分:0)
我认为你要找的是Application.OpenForms
,用它来创建一个打开表单的实例并访问文本框。