2个winform 程序 有可能传控件吗

超级大咸鱼 2014-08-19 10:14:31
2个winform程序, 之间用Scokets做通讯,有可能吧A程序的某个控件转换成byte数组再通过Scokets传给B程序,然后转换回控件在界面上显示出来吗
...全文
268 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
小灰狼 2014-08-20
  • 打赏
  • 举报
回复
引用 4 楼 diaodiaop 的回复:
虽然我不会 但是我知道肯定是可以的.. 控件是不是可序列化的? 如果不是的话 自定义一个控件 标识下可序列化.. 或者通过反射 能把控件所有的属性都可以得到..(至于事件就不清楚了.) 得到了之后转换json 然后byte [] 然后传输 然后接收到byte[] 然后转json 然后 在范序列化成控件 动态添加到容器中.. 应该是可以实现的.
控件不一定是可序列化的(没试过) 就算是可序列化,那与之有关的属性很有可能是不可序列化的,比如因为控件而绑定的属性里有打开的流、数据库连接,这些东西你没法序列化后再传到别的主机
ZhongGuanYao 2014-08-19
  • 打赏
  • 举报
回复
可以传递对象,发送方将对象序列化后发送,接收方在接收后反序列化获得对象
shawn_yang 2014-08-19
  • 打赏
  • 举报
回复
不用传控件,你直接传个值给对方,对方根据这值判断是什么控件即可。 当然,前提是你要建立一个值和控件的对应表。
失落的神庙 2014-08-19
  • 打赏
  • 举报
回复
最简单的办法就是把这个控件放到一个窗体。 让这个窗体设置为无边框 然后使用SetParent 绑到别的进程的窗体上。 这样就完美解决传过去不能触发事件
hxwangcong 2014-08-19
  • 打赏
  • 举报
回复
如果控件被标记为密封类,则基本没戏,只能手动封装并传递属性,然后再构造 否则可以继承一下,标记为可序列化,传过去,反序列化
lc_ant 2014-08-19
  • 打赏
  • 举报
回复
传控件类型和属性数据好像可以实现
by_封爱 版主 2014-08-19
  • 打赏
  • 举报
回复
LZ的头像我很喜欢 不知道哪里有种子 446294446@qq.com
失落的神庙 2014-08-19
  • 打赏
  • 举报
回复
也许可以通过句柄 把它弄到别的地方。
一aa一 2014-08-19
  • 打赏
  • 举报
回复
你可以传控件的属性值,然后根据这些属性在B上动态创建呀
threenewbee 2014-08-19
  • 打赏
  • 举报
回复
转不转xml随你。总之你可以在对方再产生一套treeview来。 但是,代码是不能传的。比如说这边的控件有什么事件,这些事件处理函数不能带到那里去。
於黾 2014-08-19
  • 打赏
  • 举报
回复
为什么要这样设计,最终的需求是什么,到底想实现什么效果? 比如用户A点了个按钮,然后自动生成了一个控件,然后用户B也要同时出现一个相同的控件??
超级大咸鱼 2014-08-19
  • 打赏
  • 举报
回复
引用 2 楼 caozhy 的回复:
传控件不行,但是可以传属性值。
如果是TreeView的话 可以将Nodes转换为XML 然后传XML过去,再解析成Nodes 显示到界面上的TreeView上吧
by_封爱 版主 2014-08-19
  • 打赏
  • 举报
回复
虽然我不会 但是我知道肯定是可以的.. 控件是不是可序列化的? 如果不是的话 自定义一个控件 标识下可序列化.. 或者通过反射 能把控件所有的属性都可以得到..(至于事件就不清楚了.) 得到了之后转换json 然后byte [] 然后传输 然后接收到byte[] 然后转json 然后 在范序列化成控件 动态添加到容器中.. 应该是可以实现的.
Peng_baoqing 2014-08-19
  • 打赏
  • 举报
回复
控件不可以吧,你可以传值的啊,你传送控件干嘛呢。。。。
threenewbee 2014-08-19
  • 打赏
  • 举报
回复
传控件不行,但是可以传属性值。
超级大咸鱼 2014-08-19
  • 打赏
  • 举报
回复
自顶
  • 打赏
  • 举报
回复
自定义个序列化 转把
於黾 2014-08-19
  • 打赏
  • 举报
回复
socket传的本质上就是二进制数据而已 最终你把它翻译成什么东西,看如何定制协议了 抛开最终的需求,泛泛的讨论这个,是没什么实际意义的.
romanchaos 2014-08-19
  • 打赏
  • 举报
回复
控件本身是不可能传过去的,但你可以将属性值传过去让对方根据其来重新实例化一个控件,例如一个普通的树形转成xml或者json随你便对面根据xml或者json重新实例化一个出来;但有些控件本身包含事件之类的,例如一个按钮你点击后会触发事件,这个不可能传过去。
成都-狗蛋儿 2014-08-19
  • 打赏
  • 举报
回复
想起原来小时候看到的一部动画片:正义战士 有3个男主角 然后每次要打仗的时候i就给太空一个女的发信号 说要什么型号的装甲 然后就传送来了 有个男的 骑士号 霹雳号 第三个男的 有个深水炸弹号 神力无敌!!! 你觉得呢?

110,499

社区成员

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

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

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