您的位置:首页 > 其它

WINFORM中被调用窗体向调用它的窗体传值

2007-12-12 11:15 344 查看
这个例子传的是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();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: