none
我想让"程序加载"和"更新检测" 同时进行 请问应该怎么做? RRS feed

  • 问题

  • 用c#写的WPF程序, 在load中 我想执行自动检测更新  , 但是想把检测更新和软件加载同时进行, 
    
    我现在写的是
    
    
     private void Window_Loaded(object sender, RoutedEventArgs e)
     {
            string myUrl1 = "";
    
            MUpdater updater = new MUpdater();
            myUrl1 = updater.AutoUpdater(btnUpdate);
    
            其他加载项......
    
    }
    
    现在我写的是先执行这三句 然后再进行后面的加载, 希望能把这三句代码 跟主程序的其他加载同时进行, 边加载程序,边检查更新
    
    请问大家应该怎么实现? 最好给代码, 谢谢啦!
    • 已移动 ThankfulHeart 2012年9月20日 7:31 WPF多线程问题 (发件人:.NET Framework 一般性问题讨论区)
    2012年9月20日 6:47

答案

  • 使用BackgroundWorker,下面是简单的例子:

                InitializeComponent();
                BackgroundWorker wkr = new BackgroundWorker();
                wkr.DoWork += new DoWorkEventHandler(Wkr_DoWork);
                wkr.RunWorkerAsync();
    
            void Wkr_DoWork(object sender, DoWorkEventArgs e) {
                int seed = 0;
                for (; seed < 1000000; ++seed) {
                    Console.WriteLine(DateTime.Now.ToString());
                }
                this.Dispatcher.BeginInvoke(new Action(() => textblock.Text = seed.ToString()));
            }



    Wanpeng wanpeng.ones@gmail.com

    • 已标记为答案 海星C 2012年10月4日 6:22
    2012年9月20日 7:55

全部回复