我想在程序登陆时让一张图片显示,以免登陆时一段时间的停顿
如下
private void Bok()
{
Thread PICTHREAD=new Thread(ThreadStrat(ShowPic)));
PICTHREAD.start();
.
....
   这里是登陆代码
...
}
private void ShowPic()
{
Pic1.visable=true;}
窗体上有一个图片文件pic1
可运行时怎么有错误啊,我用了backgroundWork
但DoWork事件中是不能调用窗体控件的。请问有什么办法可以解决吗
我用了多线程

解决方案 »

  1.   

    不行,我在点了登陆后用Pic1.Visable=true会有一段时间的停顿,运行的时候非要把登陆时的代码运行完后,图片 才能显示
      

  2.   

    多线程放在page_load里面去
    Thread PICTHREAD=new Thread(ThreadStrat(ShowPic)));
    PICTHREAD.start();
      

  3.   

    在设计窗体就将图片贴上,登陆完成后Pic1.Visable=false;
      

  4.   

    楼上的几位大哥,为什么要把多线程放在LOAD里面呢,我登陆时就不行,并且,我在登陆时显示的图片要等到登陆按钮完成后才能显示,中间有一段时间的    停顿   ,所以我想弄个图片显示正在登陆
      

  5.   

    你这个操作其实是PICTHREAD线程请求主线程完成的
      

  6.   

    backgroundWork里边是可以直接调用窗体控件的
    因为.net会对这个调用封装,其实质还是Invoke,但是不必你写这样的代码,.net已经帮你处理了但是如果你不用backgroundWork的话,还是要通过Control.Invoke来请求主线程执行的
      

  7.   

    backgroundWork里面的dowork是不能调用的啊,只能在RunWorkerCompleted里调用控件,可这个是线程已经完成后,并且也是要按钮完成后才显示,有点郁闷