将值从一个窗口表单传递到另一个Windows窗体

时间:2013-03-27 16:20:43

标签: c# winforms

我的第一个Windows窗体上有一个DataGridView。用户单击然后打开一个弹出窗口,其中是第二个DataGridView,单击将在第一页DataGridView上显示的DataGridView行。

问题是,当我点击Form一个DataGridView时,它打开第二个Form的弹出窗口,用户选择任何一行。我从DataGridView中获取所需的数据,并在先前在我的窗口上打开的第一页上发送这些数据。从这行代码中我将值从Second Form传递给First Form。

FrmSetting _frmSetting = new FrmSetting(string _val,string code)

我认为由于新关键字,它会打开一个新页面或类似的东西。我如何发送First Form请建议我。

谢谢

2 个答案:

答案 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";