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();
假设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();
相关文章推荐
- WinForm窗体间如何传值的几种方法
- C# Winform窗体间传值
- Winform开发之窗体传值
- winform在子窗体调用父窗体的控件
- WinForm开发,窗体显示和窗体传值相关知识总结
- 子窗体如何传值到父窗体并调用父窗体的函数
- WinForm开发,窗体显示和窗体传值相关知识总结
- (C#)WinForm窗体间传值
- winform C#的委托事件在winform窗体中传值,也可用于刷新另一窗体(窗体A刷新窗体B)
- C# WinForm窗体间传值
- Winform下调用ShowDialog()显示窗体,切记调用Dispose来释放资源
- [WinForm]窗体间传值
- .C# WinForm 父窗体 子窗体 传值
- c# winform窗体 调用js脚本语言,然后输出结果
- winform窗体间传值
- (C#)WinForm窗体间传值
- WinForm开发,窗体显示和窗体传值相关知识总结【转载】
- WinForm窗体间传值
- WinForm窗体显示和窗体间传值总结
- C# Winform 窗体间传值