专栏名称: dotNET跨平台
专注于.NET Core的技术传播。在这里你可以谈微软.NET,Mono的跨平台开发技术。在这里可以让你的.NET项目有新的思路,不局限于微软的技术栈,横跨Windows,Linux 主流平台
今天看啥  ›  专栏  ›  dotNET跨平台

C# WPF中的GUI多线程技巧详解

dotNET跨平台  · 公众号  ·  · 2024-09-11 07:49
    

文章预览

1. 使用BackgroundWorker组件 代码示例: public partial class MainWindow : Window { private BackgroundWorker backgroundWorker = new BackgroundWorker ( ) ; public MainWindow ( ) { InitializeComponent ( ) ; backgroundWorker . DoWork += BackgroundWorker_DoWork ; backgroundWorker . RunWorkerCompleted += BackgroundWorker_RunWorkerCompleted ; backgroundWorker . WorkerReportsProgress = true ; backgroundWorker . WorkerSupportsCancellation = true ; } private void StartButton_Click ( object sender , RoutedEventArgs e ) { backgroundWorker . RunWorkerAsync ( ) ; } private void BackgroundWorker_DoWork ( object sender , DoWorkEventArgs e ) { // 长时间运行的任务 for ( int i = 0 ; i < 100 ; i ++ ) { if ( backgroundWorker . CancellationPending ) { e . Cancel = true ; ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览