求助,子vba窗体控件调用表格调用父vba窗体控件调用表格的函数,里面的控件为无效指针

C#子窗体调用主窗体中事件
很多人都苦恼于如何在子窗体中操作主窗体上的控件,或者在主窗体中操作子窗体上的控件。相比较而言,后面稍微简单一些,只要在主窗体中创建子窗体的时候,保留所创建子窗体对象即可。
下面重点介绍前一种,目前常见的有两种方法,基本上大同小异:
第一种,在主窗体类中定义一个静态成员,来保存当前主窗体对象,例如:
publicstatic yourMainWindow
pCurrentWin =null;
然后在主窗体构造函数中,给静态成员初始化,如下:
pCurrentWin =this;
那么在子窗体中调用父窗体,可以通过“主窗体类名. pCurrentWin”来操作当前的主窗体。
第二种,是在子窗体中定义一个私有成员,来保存当前主窗体对象,例如:
private yourMainWindow pParentWin =null;
然后在子窗体构造函数中,加一参数,如下:
public yourChildWindow(
yourMainWindow WinMain )
pParentWin = WinM//Other code}
在主窗体创建子窗体的时候,要把this作为参数来构造子窗体,这样在子窗体中调用父窗体,可以直接用“this.pParentWin”就可以了
不过以上所作的,只是让你能够访问当前主窗体对象,那么如何操作控件,很多人直接修改控件的成员访问符,即把“private”改为“public”,我觉得这样破坏了本身类的封装,所以我比较喜欢的做法是增加公有属性或方法来供调用,例如:
publicstring ButtonText
{get{ return btn.T}set{ btn.Text = }
publicvoid Button_Click()
{this.btnDConvert.PerformClick();//Execute
button click}
以上介绍的就是C# Winform主窗体和子窗体之间如何相互操作对方的控件
没有更多推荐了,子对话框调用父对话框button按钮事件
1、将父对话框的按钮事件定义成public方法(例如我调用父对话框的搜索按钮)
public void btn_Query_Click(object sender, EventArgs e)
2、在主窗体类中定义一个静态成员,来保存当前主窗体对象。
例如: public static MainWindow pWin=
3、然后在主窗体构造函数中或者主窗体的_Load函数中,给静态成员初始化:
4、在子窗体中调用父窗体,可以通过“主窗体类名. pWin”来操作当前的主窗体
如:MainWindow.pWin.btn_Query_Click(null, null);
生命不息,奋斗不止!
没有更多推荐了,求助!子窗体调用父窗体的函数,里面的控件为无效指针怎么回事呢?
[问题点数:40分,结帖人ailsa_wjp]
本版专家分:0
结帖率 85.71%
CSDN今日推荐
本版专家分:6760
本版专家分:8542
结帖率 97.27%
本版专家分:9772
2014.7获得微软MVP称号2013年7月 荣获微软MVP称号2011年7月 荣获微软MVP称号
2010年5月 VC/MFC大版内专家分月排行榜第三
本版专家分:13408
本版专家分:0
结帖率 85.71%
本版专家分:0
结帖率 85.71%
本版专家分:358017
2013年 荣获名人称号
2011年 总版技术专家分年内排行榜第三2010年 总版技术专家分年内排行榜第三
2012年 总版技术专家分年内排行榜第五
2012年1月 总版技术专家分月排行榜第一
本版专家分:0
结帖率 85.71%
匿名用户不能发表回复!|
CSDN今日推荐随笔 - 80&
文章 - 1&评论 - 14&trackbacks - 0
父窗体调用子窗体:&&& window.frames["c1"].window.childMehtod();
子窗体调用父窗体:
  使用window.parent或者window.opener
&&&&& var flag = window.parent.checkLeftShow();
阅读(...) 评论()c++Builder6.0 子窗体如何调用主窗体的控件,函数,变量_百度知道
c++Builder6.0 子窗体如何调用主窗体的控件,函数,变量
例如:主窗体MainFrm,控件button1,Edit1, 函数 fun();
子窗体ChildFrm,控件button2
点击主窗体MainFrm按钮控件button1,打开子窗体ChildFrm,
在子窗体ChildFrm下点击按钮控件Button2,如何修改主窗体MainFrm控件Edit1的参数,和调用fun();函数。
我有更好的答案
#include上主窗体的 头文件 或者 代码编辑器打开子窗体源文件 文件菜单 include unit 进行选择 MainFrm-&Edit1-&Text = &&;
前面 加上属于哪个窗体 把 主窗体 源文件中 定义的fun函数
在 其头文件中写个函数声明
采纳率:58%
来自团队:
把主窗体MainFrm 的头文件,添加到子窗体ChildFrm 内;
主窗体MainFrm 内的控件就可以在子窗体操作了!
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。}

我要回帖

更多关于 c 子窗体调用父窗体 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信