请教一个不同窗体间的调用问题? 比如我有两个窗体form1,form2.form1下有个控间名为menu_box,请问各位我如何在FORM2下调用这个控间,对form1进行实体化后,还是没有menu_box的引用...谢谢各位了~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用代理+事件例子如下:本例实现子窗体关闭时,父窗体也关闭在子窗口中声明事件: public event childclose closefather; 然后在它的关闭事件中触发本事件: private void Form1_Closed(object sender, System.EventArgs e) { //用事件去关闭主窗口 closefather(); }在父窗口中(登陆窗口中): 在窗口类之前,在共同的命名空间之后声明代理: public delegate void childclose(); 然后弹出子窗体的地方这样写: Form1 ff=new Form1(); ff.closefather+=new childclose(this.closethis); //closethis()是父窗体中的一个方法 ff.Show(); 定义方法: public void closethis() { this.Close(); } ....为什么看的我一头雾水...如果不关闭FORM1的情况下呢。. form1的事件这样,Form2 _Form2 = new Form2(menu_box _menu_box); _Form2.ShowDialog();form2里, public Form2() { InitializeComponent(); } 把这改成private menu mymenu_boxpublic Form2(menu _menu) {mymenu_box=_menu; InitializeComponent(); }然后就可以在Form2其他地方调用了 參見http://blog.csdn.net/tjvictor/archive/2006/06/23/824617.aspx中的第四個方法,用delegate來做。如果你對delegate不熟的話,請先看delegate的有關知識。 主要就是把form2的默认的那个函数改成带参数的原来的public Form2() { InitializeComponent(); }改成这样public Form2(string id) {在这就可以把传进来的id取到公共变量或是直接显示什么的了如label1.text=id; InitializeComponent(); } 把form1做为参数传递过去吧.在form2加一个带参数的构造函数:在form2窗口操作 f1 就可以.private Form1 f1 = null;public From2(Form1 form1){ ...... this.f1 = form1;}调用时:Form2 f2 = new Form2(this);f2.Show(); 应该还需要修改form1的控件的Modifiers属性,设置为public 看lz的要求,直接将控件声明为public就可以了 数据交互http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx窗体的参数传递http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5 C#连接数据库 C# div滚动条定位的问题 list<>迭代读取数据问题 (就20分了。全给了,别闲分少) 机器强制重启 VS安装部署 在线等待 调用Oralce存储过程的问题,高手请进!!!!! 大家都来看看这个小问题,关于DataTimePicker和SQL结合 有关object对象的小问题 C#小算法 求ERP的电子书、资料 列表控件的Data Source问题 winfrom 中关于树的使用 ....
例子如下:本例实现子窗体关闭时,父窗体也关闭
在子窗口中声明事件: public event childclose closefather; 然后在它的关闭事件中触发本事件: private void Form1_Closed(object sender, System.EventArgs e)
{
//用事件去关闭主窗口
closefather();
}在父窗口中(登陆窗口中):
在窗口类之前,在共同的命名空间之后声明代理: public delegate void childclose();
然后弹出子窗体的地方这样写: Form1 ff=new Form1();
ff.closefather+=new childclose(this.closethis); //closethis()是父窗体中的一个方法
ff.Show(); 定义方法: public void closethis()
{
this.Close();
}
Form2 _Form2 = new Form2(menu_box _menu_box);
_Form2.ShowDialog();
form2里,
public Form2()
{
InitializeComponent();
}
把这改成
private menu mymenu_box
public Form2(menu _menu)
{
mymenu_box=_menu;
InitializeComponent();
}
然后就可以在Form2其他地方调用了
中的第四個方法,用delegate來做。如果你對delegate不熟的話,請先看delegate的有關知識。
public Form2()
{
InitializeComponent();
}
改成这样
public Form2(string id)
{
在这就可以把传进来的id取到公共变量或是直接显示什么的了如
label1.text=id;
InitializeComponent();
}
在form2加一个带参数的构造函数:在form2窗口操作 f1 就可以.private Form1 f1 = null;public From2(Form1 form1)
{
......
this.f1 = form1;
}调用时:Form2 f2 = new Form2(this);
f2.Show();
http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
窗体的参数传递
http://blog.csdn.net/zhzuo/archive/2006/05/05/708941.aspx#sec5