winform 里在另一个页面里创建的线程如何影响到当前页,也就是别的页面里的子线程如何影响到子线程

嗯好的 2017-08-08 09:50:47
在登录页面里有一个为了专门用来接收tcp服务器数据的线程,在点击登录进入到前台页面之后,点击某个按钮,这时服务器给客户端发送数据,接收数据的地方在登录页面里的线程里,这时候如何能将前台页面的control改变
...全文
205 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
嗯好的 2017-08-09
  • 打赏
  • 举报
回复
谢谢大家,问题已经解决,我说下解决方式 在子线程里操作ui的时候,可以在构造方法里加上一句 Control.CheckForIllegalCrossThreadCalls = false;//任何线程都可以操作ui,复杂的时候可能发生乱七八糟的事情 也可以使用委托,子线程委托给ui线程操作,可能需要在同一个窗体里 也就是invoke,这次我犯了一个错误,就是在另一个页面里的子线程里操作ui的时候重新new了一下,这是不对的。 在另一个页面打开本ui页面的时候把实例化的对象设成公共的,用那个.show()的对象操作ui
ajdkjalj 2017-08-08
  • 打赏
  • 举报
回复
引用 2 楼 qq_34732713 的回复:
[quote=引用 1 楼 ajdkjalj 的回复:] 这个和两个窗口间传值是一个道理吧,委托实现,百度一下很多例子
我已经可以成功的传值过去了,datajson里已经 有数据了,就是改变不了那些控件的值 同一个页面里子线程使用委托改变ui线程我会改。。。这是在不同页面,[/quote] http://www.cnblogs.com/mingjiatang/p/5079632.html 也可以搜索异步更新ui
xdashewan 2017-08-08
  • 打赏
  • 举报
回复
引用 2 楼 qq_34732713 的回复:
同一个页面里子线程使用委托改变ui线程我会改。。。这是在不同页面,
既然你会使用委托,那么不同页面又有何区别呢
嗯好的 2017-08-08
  • 打赏
  • 举报
回复
引用 1 楼 ajdkjalj 的回复:
这个和两个窗口间传值是一个道理吧,委托实现,百度一下很多例子


我已经可以成功的传值过去了,datajson里已经 有数据了,就是改变不了那些控件的值
同一个页面里子线程使用委托改变ui线程我会改。。。这是在不同页面,
ajdkjalj 2017-08-08
  • 打赏
  • 举报
回复
这个和两个窗口间传值是一个道理吧,委托实现,百度一下很多例子
正怒月神 2017-08-08
  • 打赏
  • 举报
回复
begininvoke方法

111,120

社区成员

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

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

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