求助:在form中 开子线程(调用form的一个成员对象的函数),如何在子线程中刷新form界面?

mit06 2009-04-05 09:58:26
我的程序结构大概是
一个form对象 :form1
form1 中有一个 myObject 对象
我在 form1按钮的click事件中 打开一个线程
myObject = new myObject();
Thread t = new Thread(new ThreadStart(myObject.myMethod));
如何在子线程中刷新form1的界面?我在其中生成了一些数据需要显示在form1的文本框里面!

我目前只想到一个方法:用timer定期去检查myObject的状态。
但是否有方法能直接在有数据生成的时候才通知form1 而不必form1不断去检查myObject的状态?

求各位帮忙解答下 谢谢!
...全文
159 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyu52 2009-04-05
  • 打赏
  • 举报
回复
"事件驱动编程方法" 事件与接口相比,在这里没有可比性,更谈不上哪一个更优,我一样可以说出一些接口可用而事件用不了的例子
  • 打赏
  • 举报
回复
“事件”是比较合适的方法。

事件驱动编程方法,至少从vb3.0以后十几年来就是微软的界面开发平台的主要方法。事件驱动的语法是非常简单直观的。使用事件驱动的开发人员不用去想接口,而学习java的容易搞类似设计模式那种繁琐冗余的一大堆解释,设计模式中因为不懂事件驱动编程所以对于许多一句话就可以直截了当地解释清楚的概念用了很多模式、很多很多繁琐的概念来解释。
jobine 2009-04-05
  • 打赏
  • 举报
回复
事件,接口都可以实现。
heyu52 2009-04-05
  • 打赏
  • 举报
回复
不要老想着用timer的方法

你应该用接口会更合适的

因为一个程序应该在启动前设定哪一个是主窗体
这样,你设置一公共变量类型为接口,在此接口上定义一个刷新的方法
而主窗体也继承于这一接口

所以,当你在子窗体要刷新时
就可以通过调前面设置的那个公共变量接口里面的方法,这样就可以实现了
heyu52 2009-04-05
  • 打赏
  • 举报
回复
不要老想着用timer的方法

你应该用接口会更合适的

因为一个程序应该在启动前设定哪一个是主窗体
这样,你设置一公共变量类型为接口,在此接口上定义一个刷新的方法
而主窗体也继承于这一接口

所以,当你在子窗体要刷新时
就可以通过调前面设置的那个公共变量接口里面的方法,这样就可以实现了
cja03 2009-04-05
  • 打赏
  • 举报
回复
不是很明白。
你可以写一个事件,当myObject状态改变时触发这个事件。

111,126

社区成员

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

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

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