日期:2014-05-20  浏览次数:20968 次

怎样让WinForm在窗口之间传递参数
我在主窗口用DataGrid显示了一个数据库表中的值,我想在选中一行后按修改按钮,打开另一个窗口,用TextBox显示选中的DataGrid选中的一行里的值,该怎样做呢?


------解决方案--------------------
WinForm中一个窗口就是一个类,这样我们可以利用构造函数在类与类之间传递值.
假设您现在显示DataGrid的窗口是Form1,修改的窗口是Form2,Form2有一个TextBox1
在Form1里的按钮事件为
Form2 newFrm = new Form2(this);
newFrm.textBox1.Text = dataGrid1[dataGrid1.CurrentCell.RowNumber,0].ToString();
newFrm.ShowDialog();

在Form2中定义Form1,并修改Form2构造函数如下
private Form1 er;
public Form2(Form1 Fm)
{
InitializeComponent();
er = Fm;
}
------解决方案--------------------
把窗体传递过去