c#中,在同一父窗体下有两个子窗体,这两个子窗体之间如何相互调用(是相互调用,不是单向)

父窗体A下同时new了两个子窗体C,B,现在需要用C调用B中的函数、变量、事件。又需要用B调用C中的函数、变量、事件。也就是C、B窗口之间可以用一个完全控制另外一个,请问... 父窗体A下同时new了两个子窗体C,B,现在需要用C调用B中的函数、变量、事件。又需要用B调用C中的函数、变量、事件。也就是C、B窗口之间可以用一个完全控制另外一个,请问该如何实现? 展开
 我来答
bxfc
2013-01-05 · TA获得超过872个赞
知道小有建树答主
回答量:1104
采纳率:0%
帮助的人:684万
展开全部
想调用对象都定义成Public的就行了。
你New了C和B, 这两者你肯定都能找到,定义到对方的属性里去

或者 定义 委托,然后互相注册
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FabKiller
2013-01-05 · TA获得超过586个赞
知道小有建树答主
回答量:676
采纳率:0%
帮助的人:483万
展开全部
1.窗体的变量,事件,函数都写为public
2.要互相传送,可以从构造入手,或者自己定义一个静态变量
更多追问追答
追问
相互传送,构造的话,我在C窗口中构造了B,那么C中可以调用B.,但是B不能调用C。B中调用C同理。就是感觉无法相互调用,构造函数只能单向调用。而定义public静态变量的方法,可能会增加代码耦合的风险。不知道我理解的对不对??
追答
那就创建public类,将你需要互相传来传去的变量都定义出来!
父窗体启动时,把public类Init()一下!
然后你窗体间操作public类里面的变量吧!
比如,你在public类里面,定义了一个变量buffer,那么,你A窗体操作下,buffer的值变了
那么,你再用B窗体去读去buffer,再处理下buffer,然后,C再去读,不就行了?
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
立强哥
2013-01-05
知道答主
回答量:59
采纳率:0%
帮助的人:17万
展开全部
创建中间类库
追问
不太明白哎。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式