日期:2014-05-17  浏览次数:20750 次

模拟加载窗口
            
加载窗口 form = new 加载窗口();
            try
            {
                form.ShowDialog();
                //处理数据...
            }
            catch (Exception ex)
            {
                ...
            }
            finally
            {
                form.Dispose();
            }


求个方法实现类似功能:加载窗口在ShowDialog的时候继续处理数据,处理完成之后等待窗口关闭。

------解决方案--------------------
给你写个demo,例如
var frm = new Form1();
ThreadPool.QueueUserWorkItem(h =>
{
    Thread.Sleep(5000);
    frm.BeginInvoke(new Action(() => frm.Close()));
});
frm.ShowDialog();

你可以看到一个线程在干异步的事情,它的最后一条语句是 fr.Close()。