+ -
当前位置:首页 → 问答吧 → 关于C#使用线程创建窗体对象、、窗体失去响应

关于C#使用线程创建窗体对象、、窗体失去响应

时间:2011-12-19

来源:互联网

我写的代码有点多 全部发上来看有点碍眼、、所以我就在这里来个示例说明一下我的程序
Thread Test = new Thread(new ThreadStart(TestFuntion));
Test.start();

public void TestFuntion(){
  while(True){
  .......
  .......
  if (若满足条件则创建一个窗体出来) {
  new Form2().show();//窗体的确创建出来了 可创建出来的窗体是失去响应的
  }
  .......
  .......
  }
}

作者: crystal_lz   发布时间: 2011-12-19

线程里与界面控件有关的代码,放到线程外(之前)创建的control的Invoke中去操作。

作者: sp1234   发布时间: 2011-12-19

引用 1 楼 sp1234 的回复:
线程里与界面控件有关的代码,放到线程外(之前)创建的control的Invoke中去操作。

能说一下具体的步骤么?? 要怎么弄或者来一个简单的列子、、、我对C#还是菜鸟阶段 但是想写一些其他程序难免遇到问题、、

作者: crystal_lz   发布时间: 2011-12-19

新的线程要和主线程完全脱离,不要有共享依赖关系。新线程调用主线程中的窗体空间,采用invoke等回调或委托方式。

作者: falconfei   发布时间: 2011-12-19

引用 3 楼 falconfei 的回复:
新的线程要和主线程完全脱离,不要有共享依赖关系。新线程调用主线程中的窗体空间,采用invoke等回调或委托方式。

能举例一下么??、、、

作者: crystal_lz   发布时间: 2011-12-19

相关阅读 更多