Bra*_*don 1 .net c# multithreading winforms
我有一个带有2个控件的表单.控件1有多个搜索条件,用户可以单击按钮开始搜索.Control 2有一个GridView,它将显示搜索结果,并且还有一个带有动画Gif的PictureBox.
控件1有一个方法,它有一个嵌套的foreach循环,需要花费5分钟才能完成(取决于搜索条件,有时它几乎立即完成).
发生的事情是我在Control 2上调用一个方法,使PictureBox可见,动画Gif开始运行.一旦foreach循环被击中需要一段时间,图像就会完全停止.每当我显示任何MessageBoxes时,图像再次开始运行(我认为这是因为MessageBox阻塞).MessageBox关闭后,图像将停止动画.
我认为我需要利用线程的东西,但我正在尝试的一切(ImageAnimator,线程调用调用Invoke的方法等)都似乎不起作用.任何提示我需要使用哪些事件/库才能使其工作?有什么好的例子可以遵循?