这个例子传的是BOOL值
假设Form1 调用Form2,首先在Form1中定义一个变量:
public bool passedbool;
然后修改Form2的构造函数:
Form parent = null;
public Form2(Form form)
{
InitializeComponent();
parent = form;
}
然后Form1调用Form2:
Form2 s = new Form2(Form1.ActiveForm);
s.ShowDialog();
然后在Form2某个事件事调用Form1:
private void button1_Click(object sender, EventArgs e)
{
Form1 s = parent as Form1;
s.passedbool = true;
}
运行,OK。
注意:
确定你的当前的ActiveForm是否存在,这段代码如果是在Load中的 这个时候如果没有其他的Form存在的话ActiveForm将会为null 这样Form1.ActiveForm将产生异常
如果一定要在 显示的时候实现
别写在load事件里 写在Activated事件中
最好在Shown(第一次显示时发生)事件下写
OR
Form2下声明public变量,如public DataSet ds = new DataSet();
Form1下调用:Form2 f2 = new Form2();
f2.ds = this.ds;//等于Form1下的DS
f2.ShowDialog();