有一个窗口Form1,单击一下Form1上的button1,弹出Form2
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2();
f2.tblname = thistable;
f2.Show(); }
此时Form1还在,没有Close.
如上所示,Form1向Form2传递参数时候,我是通过给Form2增加一个共有内部成员来实现的。
但是Form2向Form1传递参数却不知道怎么实现,因为此时Form1还存在,无法使用上面的方法。
请教高手。
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2();
f2.tblname = thistable;
f2.Show(); }
此时Form1还在,没有Close.
如上所示,Form1向Form2传递参数时候,我是通过给Form2增加一个共有内部成员来实现的。
但是Form2向Form1传递参数却不知道怎么实现,因为此时Form1还存在,无法使用上面的方法。
请教高手。
解决方案 »
- 数据库getdate()的问题……
- 急急!大家帮忙看一下吧,owc11 office chart11.0怎么设置series设置位置,默认在右边,怎么设置让它在上面呢?
- 缩略图实现方案
- 请教:事务问题
- C# 怎样实现点击主窗体上的按钮,弹出新窗体同时关闭主窗体??
- [求助]请问怎样得到当前系统的总内存、可用内存和应用程序本身所占用的内存?
- 这个一维怎么改成2维!大家帮我改下!!!
- 在C#中如何实现对用逗号分隔 的文件进行读取?
- Professional C#, 2nd Edition
- 安全问题-关于用户登陆,有没有好的方案(给分)
- winform中 datagrid如何批量显示数据?
- 关于数组的应用
{
this._parentForm=form;
}
Form2 f2 = new Form2(form1);
我的意思是单击From2上的一个按钮,From2本身就关闭了,同时有一个参数要想Form1传递。
public class AppParam
{
public AppParam(){lists = new ArrayList();}
protected ArrayList lists;public ArrayList Lists{get{;}set{;}}
}
public class App
{
protected static AppParams[] parmas = new AppParam[10];
public static AppParam Parameters{get{;}set{;}}
}
这样,应用程序就可以通过App类进行参数传递了.
直接调用其内的变量值即可
public delegate void ChangeDataDelegate(string data);//定义委托private event ChangeDataDelegate ChangeDataEvent;//定义事件
private void button1_Click(object sender, System.EventArgs e)
{
ChangeDataEvent(this.textBox1.Text);激发事件,写在你想要的地方
}
Form1中
private void button1_Click(object sender,System.EventArgs e)
{
Form2 f = new Form2();
f.ChangeDataEvent+=new ChangeDataDelegate(this.ChangeData); //绑定事件
}
public void ChangeData(string data)
{
this.textBox1.Text=data;//做你想要的操作
}
在Form1中调用那个构造函数
private void button1_Click(object sender, System.EventArgs e)
{
Form2 f2 = new Form2(Form1);
f2.tblname = thistable;
f2.Show(); }
当然这里要稍稍改一下Form2的构造
private void button7_Click(object sender, System.EventArgs e)
{
Fr_zspzd zspzd=new Fr_zspzd(this.dataSet11,this.myToolbar1);
zspzd.Show();
}窗体Fr_zspzd:
public class Fr_zspzd : System.Windows.Forms.Form
{
DataSet ds1=null;
myBaseForm.myToolbar myToolbar1;
...........
public Fr_zspzd(DataSet ds,myBaseForm.myToolbar myToolbar) //构造函数
{
ds1=ds;
myToolbar1=myToolbar; //把传递的信息保存下来
........
}
private void Fr_zspzd_Load(object sender, System.EventArgs e)
{
//函数中就可以使用了
//传递的值是和第一个页面是同步的
}也可以用属性传:
private void button5_Click(object sender, System.EventArgs e)
{
WindowsApplication1.Form2 f2 = new Form2();
f2.MdiParent=this;
f2.Show();
}//-----------------------------------------------
public class Form2 : System.Windows.Forms.Form
{
private Form1 fm1;
public Form1 Fm1
{
get{return fm1;}
set{fm1=value;}
}