开发环境:C#2005  WINFORM
  在窗体上有一个事件find(用于查找数据,但数据量可能比较大,耗时比较长。)
因此我在执行查询时会实例会另外一个窗体frmWating(上面有一个Label,一个PictureBox,
PictureBox的Image高为一个Gif文件)
问题:当我将新的frmWating窗体FrmWating使用以下语句:
  FrmWating.Show()时,Label上的文字和PictureBox上的
Gif文件要等很久才能显示。但如果使用以下语句:
  FrmWating.ShowDialog()时,则,Label上的文字和PictureBox上的
Gif文件马上就显示出来了。不过使用ShowDialog()方法就不能自动将其
关闭。因此只能使用Show()方法。但为什么会出现这种情况我就不知道了,
请问这是什么原因?如何解决?谢谢!

解决方案 »

  1.   

    简单的方法还是用FrmWating.ShowDialog()
    在事件find结束处加关闭语句
      

  2.   

    如果执行了FrmWating.ShowDialog(),则find事件中此语句
    后面的事件不会执行。
      

  3.   

    WaitDialogForm
    能执行show()之后的代码
      

  4.   

    http://topic.csdn.net/u/20080528/16/fa79fde8-1a2d-4dc0-80d9-ca311be513a7.html
      

  5.   

    启动一个新的线程
    在waitfrm中填写close事件代码可以这样写
    aa=new waitfrm
    aa.showdialog();
    add your code ...waitfrm.close();