winform中关于自定义控件之间的访问,请大神指点。版主免回。

maya8maya85 2016-04-24 05:03:36
情况是这样.请看图

这三个都是自定义控件,叫A,B,C。都为dll
我在一个winform项目都以源码的方式引入到主项目中,就等于一个解决方案里有四个项目了。这是背景。
我在开发中希望当A有操作时,B同时有相应的操作,而且要实时的。C可以先不管。
打个比方,A是一个目录浏览器,我点击A中的任何一个文件,B就实时的显示文件的大小等等。
注意,这两个都是自定义控件,都有各自己的项目。这里是打个比方,实际上比这个复杂。
当然如果就一个普通的winform项目,拉几个内置的控件,这就简单。
我现在有个思路,就是说在A控件中写一个公共方法,让A控件告诉主窗口操作B控件,但这个方法很白痴。
我猜应该有一个方法,让A指定它的目标控件。直接让它绑定到B上。谁来说说这个方法。
...全文
107 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
为轮子而生 2016-04-25
  • 打赏
  • 举报
回复
以下几种方法皆可,请自行斟酌: 1、一般情况下是用事件或委托的,也就是在A里定义一个event,主窗体定义处理这个事件的函数,当A的选择变更时,event触发,同时将新的选项通过参数e传递给主窗体,主窗体根据参数调用B上面的刷新功能 2、A控件公开一个属性,属性的类型就是控件B的类型,这样主窗体就可以直接将B的实例传递给A,A发现用户选择一个项时,就可以通过这个属性直接调用B上面的刷新功能 两种方法均需要主窗体参与,这个不可避免,因为控件就是用来调用的,而不应该过分“自动化”,既灵活又听话的控件才是好控件

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧