-4

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

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

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

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

谢谢

4

2 回答 2

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

如果您需要第一个表格中的一些信息,您可以做同样的事情。

于 2013-03-27T16:26:37.717 回答
0

将第一个表单作为参数传递给第二个表单的构造函数。将要在第一个表单中更新的 DataGrid 设为 public,并从第二个表单更新它:

Form1.DataGrid1.CaptionText = "Caption 1";
于 2013-03-27T16:23:08.727 回答