您好,我在form1中有datagridview,通过form1打开form2,通过form2打开form3并string named vyber_ID_K
放在Form1中需要在Form3中访问(我需要在Form3中获取它的值)
这是放置在form1中的按钮单击上
form2 a = new form2 ("Novy");
string vyber_IDK = (string)dataGridView1.CurrentRow.Cells["ID_K"].Value.ToString();
a.vyber_ID_K = vyber_IDK;
a.Show();
a.Closed += klient_Closed;
我想访问vyber_ID_K in form 3
,怎么做?我试图设置public string vyber_ID_K in form2 and pass it similary to form3 but I get null
. 我做对了吗?请问还有其他更好的解决方案吗?
提前致谢。
我的一步一步根据Servy:
在表格 1 中单击按钮
Func vyberIDKGetter = () => dataGridView1.CurrentRow.Cells["ID_K"].Value.ToString();
try { form2 = new form2 ("Novy"); a.vyberIDKGetter = () => dataGridView1.CurrentRow.Cells["ID_K"].Value.ToString(); a.Show();
}
在form2中单击按钮
公共功能 vyberIDKGetter; private void button1_Click(object sender, EventArgs e) { nova_platba b = new nova_platba("novy"); b.vyberIDKGetter(); b.显示();b.Closed += kclient_Closed;}
在表格 3 中
Func<string> vyberIDKGetter = veberIDK; string vyberIDK = vyberIDKGetter(); SqlCommand sc = new SqlCommand(@" INSERT INTO kliplat (datum,text,castka,akce,subkey,priznak,rocnik) VALUES (@datum,@text,@castka,@akce,@subkey,@priznak,@rocnik); SELECT scope_identity(); ", spojeni); sc.Parameters.AddWithValue("@subkey", vyberIDK);