积极答复者
我想让"程序加载"和"更新检测" 同时进行 请问应该怎么做?

问题
-
用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 一般性问题讨论区)
答案
-
使用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
全部回复
-
使用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