关于异步调用的疑问,高手请进
九章落地 2007-07-30 08:34:51 我在读写数据时,有些地方耗时较多,便想显示一个等待的GIF动画来提示用户,部分代码如下:
private delegate void f();//定义一个委托
private void button1_Click(object sender, EventArgs e)
{
Thread th = new Thread(new ThreadStart(test));
th.Start();
doSomeThing(...);//这个方法很耗时间,有参数,且不能拆开成小步
}
private void test()
{
Invoke(new f(testff));
}
private void testff()
{
picLoading1.Visible = true;//显示等待动画
}
1、为什么我点击按钮时,图片框上的GIF不动,等执行完doSomeThing方法后才动,这是为什么,如何解决?
2、是把耗时的方法,还是等待画面(进度条)放到新线程来执行呀?那些耗时的方法都有不同的参数,如何传递参数?
请高手不吝赐教,谢谢!