![]() |
| 编程社区 » C#编程 » 子窗体如何调用父窗体的函数和变量, |
子窗体如何调用父窗体的函数和变量, |
elixir2002 |
发表:
|
http://www.cnblogs.com/zhenyulu/articles/34044.html
pform = new parentform();
pform.函数、变量
其实可以把窗体看作是个类,一样用
公共变量,或者属性,或者构造函数,
如果父窗体是form1
在form1的Load的过程中,F2=new form2();
如何在F2中操作父窗体form1
比如调用form1中的button1_Click();
或者操作form1中的空件
一楼的链接好象是不通的
1:如果是mdi窗体的调用,假设frm_main是主窗体,frm_mdi是子窗体
那么使用parentform即可。
如:在frm-mdi的一个实例中的一个按钮写如下代码:
dim parentform as frm_main
parentform=directcast(me.parentform ,frm_main)
messagebox.show(parentform.text) '这样就可以使用frm_main的属性和控件了。
2:如果不是mdi窗体间的调用,假设我们从form1调用form2,那么
只要在form2中重载一个它的构造函数,该函数需要传递一个参数,此参数就是调用它的窗体的实例(也就是form1的一个实例),使用一个变量来接收此参数,就可以在form2的实例的任何地方调用或使用form1的属性和控件了。
还需要在form1中创建form2的实例时,将me作为参数传递过去。
子窗体调用父窗体的方法有两种方法:
第一,把父窗体中的方法做成静态的。
第二,把父窗体的引用传递到子窗体中使用。即修改子窗体的构造函数,
在父窗体new子窗体的时候,把this传入。
至于变量,使用public或者是属性(get,set)都可以。
mao gao cuo
传递引用
http://blog.csdn.net/zhzuo/archive/2004/04/05/22027.aspx
http://blog.csdn.net/zhzuo/archive/2004/04/05/22028.aspx
UP
把父窗体的引用传递到子窗体中使用
设置为静态的,并且是public就应该可以了。。。。
| 编程社区 2008 浙ICP备09013498号 |
| © TinyBBS.cn |
| 编程好站连接:codeproject sf.net codeplex |