我的第一个Windows窗体上有一个DataGridView。用户单击然后打开一个弹出窗口,其中是第二个DataGridView,单击将在第一页DataGridView上显示的DataGridView行。
问题是,当我点击Form
一个DataGridView时,它打开第二个Form的弹出窗口,用户选择任何一行。我从DataGridView中获取所需的数据,并在先前在我的窗口上打开的第一页上发送这些数据。从这行代码中我将值从Second Form传递给First Form。
FrmSetting _frmSetting = new FrmSetting(string _val,string code)
我认为由于新关键字,它会打开一个新页面或类似的东西。我如何发送First Form请建议我。
谢谢
答案 0 :(得分:2)
在第二个表单上创建属性,并将所选值设置为该属性。然后你可以从第一个表格中获得它。
更新:
//this should be in second form
string _myProperty;
public string MyProperty
{
get{return _myProperty;}
set{_myProperty=value; if(MyPropertyChanged!=null)MyPropertyChanged(this,null);}
}
public event EventHandler MyPropertyChanged;
//assign value to MyProperty when your dataGrid changes or whatever
然后从您的第一张表格中可以说:
string valueFromSecondForm = secondForm.MyProperty;
//subscribe to MyPropertyChanged event if you need to know when it is changed
如果你需要从第一张表格中获得一些信息,你可以做同样的事情。
答案 1 :(得分:0)
将第一个表单作为参数传递给第二个表单的构造函数。将要更新的DataGrid以第一种形式公开,并从第二种形式更新它:
Form1.DataGrid1.CaptionText = "Caption 1";