C# 跨越项目传值的问题

小仙女&& 2019-05-20 05:16:21
现在有两个单独的项目,怎么在两个项目中的窗体进行相互传递值呢。
比如说:A项目B窗体,C项目D窗体,并且BD都为子窗体,怎么实现B关闭后,更新D窗体的值呢。
...全文
4222 42 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
42 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
还是写成一个项目吧。 省事
WUJIASHUN555 2019-05-24
  • 打赏
  • 举报
回复
两个窗体是同时运行的?那应该可以用进程间通讯
yhmabc 2019-05-24
  • 打赏
  • 举报
回复
B窗口关闭之前把值传递给DB,D窗体再从数据库取值
mk_lucifer 2019-05-24
  • 打赏
  • 举报
回复
这问题提的也太不专业了。。
清夜冷月 2019-05-24
  • 打赏
  • 举报
回复
引用 12 楼 wanghui0380的回复:
进程间通讯,手段太多。目前至少有10种以上的手段,所以我们不提供具体的,只告诉你应该怎么样去找这样的资料 百度 “进程间通讯”----------------这是基础,包含tcp,管道,自定义消息,消息队列,共享内存,共享文件,数据库,甚至可以利用系统日志,单工通讯,双工通讯 "rpc 远程过程调用"-----------这是常用手段 “netmq,grpc,etcd,rdies,ribbitmq,kafka,wampSharp”-----------这是规模化后扩展手段
小白在看天书,这里难道都是大神?
Jef_Zhang 2019-05-24
  • 打赏
  • 举报
回复
貌似我理解错了
Jef_Zhang 2019-05-24
  • 打赏
  • 举报
回复
三个步骤:
1.D有public的更新方法
2.B窗体打开的时候,将D的实例作为参数传入到B里面;
3.在B关闭事件中,使用传入的D的实例,调用1中的更新方法
Csdn技术大神 2019-05-23
  • 打赏
  • 举报
回复
百度一下进程通讯选择你喜欢的
tone1128 2019-05-23
  • 打赏
  • 举报
回复
可通过线程来实现
weixin_45116993 2019-05-23
  • 打赏
  • 举报
回复
谢谢,学习了
日拱一两卒 2019-05-23
  • 打赏
  • 举报
回复
通信用socket,或者用远程对象调用,本质还是socket
qq_36613425 2019-05-22
  • 打赏
  • 举报
回复
感谢分享,好评
xiaoxiangqing 2019-05-22
  • 打赏
  • 举报
回复
方法很多,只看哪种比较简单
  • 打赏
  • 举报
回复
构造函数,窗体的构造函数可以。老师前几天讲的。
ZhuCheng Xie 2019-05-22
  • 打赏
  • 举报
回复
在D窗体先写个事件Update(),然后再B关闭事件中new A().Update();
SoulRed 2019-05-21
  • 打赏
  • 举报
回复
剪切板、内存共享、管道、文件、socket、共享DLL
wanghui0380 2019-05-21
  • 打赏
  • 举报
回复
引用 19 楼 小仙女&& 的回复:
[quote=引用 18 楼 正怒月神 的回复:] 手段多种多样。 你这个是及时通讯,还是靠事件来触发?
我这个是靠事件触发,关闭A项目中的B窗体时,C项目中D窗体的容器里面的数据进行改变 [/quote] 那就给你2个简单的办法 1.netmq---------这个你用nuget可以找到,只需在项目里引用,无需另外加装组件。这个玩意已经把我上面的说的几个基本手段一起封装了,tcp,命名管道,udp,内存共享文件,你照着官网的例子就行。 2.如果只是简单的通知,不包含其他,而且你也不想去研究什么高级技术,使用系统日志或者文件缓存依赖也行,这都是系统自己带的,无需安装 系统日志:我们可以对系统日志删除写入,我们也可以监控系统日志的新增-------so,一边把内容写进去,另一边监控日志提取日志内容,就可以------当然这是取巧方式 文件缓存依赖、数据库缓存依赖-------------net库自己的东西,在system.runtime.cache下,我们可以建立一个文件,然后一边对文件进行修改,另一边通过文件缓存依赖得到通知,知道文件已修改,然后另一边做对应的刷新处理
正怒月神 2019-05-21
  • 打赏
  • 举报
回复
引用 19 楼 小仙女&& 的回复:
[quote=引用 18 楼 正怒月神 的回复:] 手段多种多样。 你这个是及时通讯,还是靠事件来触发?
我这个是靠事件触发,关闭A项目中的B窗体时,C项目中D窗体的容器里面的数据进行改变 [/quote] 那比较简单的做法, 可以通过数据库,或者redis来实现共享信息。 通过接口也可以。
小仙女&& 2019-05-21
  • 打赏
  • 举报
回复
引用 18 楼 正怒月神 的回复:
手段多种多样。 你这个是及时通讯,还是靠事件来触发?
我这个是靠事件触发,关闭A项目中的B窗体时,C项目中D窗体的容器里面的数据进行改变
正怒月神 2019-05-21
  • 打赏
  • 举报
回复
手段多种多样。 你这个是及时通讯,还是靠事件来触发?
加载更多回复(22)

111,093

社区成员

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

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

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