none
窗体显示gif动画的问题 RRS feed

  • 问题

  •  

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

     

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

    2008年6月12日 2:44

答案

  • 你 Show() 那个窗体后, 主线程马上进入你的find处理函数, frmWating来不及更新显示,

    其实这时候frmWating处于假死状态, 处理方法很简单,使用另一个线程执行find就可以了.

    2008年6月12日 12:01