private void btn_f_stop_Click(object sender, RoutedEventArgs e) { this.IsEnabled = false; //启动等待动画 Task ts = Task.Factory.StartNew(() => { for (int i = 0; i < gSlotCnt; i++) { //gWorkFlowManger[i].WaitFor(); gWidPannels[i].Stop(); } var completed = new Action(() => { //关闭动画 this.IsEnabled = true; }); this.Dispatcher.Invoke(completed); }); this.btn_start.IsEnabled = true; }
时间: 2024-02-10 10:33:39 浏览: 131
css.rar_btn_search_box.gif_css search box
这段代码是一个WPF应用程序中的事件处理方法,用于处理“btn_f_stop”按钮的点击事件。该方法内部定义了一个异步任务(Task),并在启动该任务之前禁用了当前窗口的所有控件。
在异步任务中,使用了一个for循环来遍历gSlotCnt个元素,每个元素对应一个gWidPannels[i]控件的实例,并调用它的Stop()方法。在循环执行结束后,定义了一个名为completed的委托,用于在当前线程中执行一些操作。在completed委托中,通过Dispatcher对象的Invoke()方法调用了一个Action委托,用于在主线程中重新启用所有控件。
最后,该方法设置了“btn_start”按钮的IsEnabled属性为true,用于重新激活该按钮。
阅读全文