Winphone開發之BackgroupWorker
BackgroupWorker是非常簡單的非同步任務處理,算是多執行緒操作的入門級吧。
BackgroupWorker最重要的是瞭解裡面的幾個事件,下面選擇幾個來介紹下,全面的介紹還是要看MSDN。
1)DoWork:是BackgroupWorker的核心,非同步操作的主體是在接受的函式裡面完成,注意不要涉及UI操作,在RunWorkerAsync()函式呼叫的時候發生。
2)RunWorkerCompleted:當後臺操作已完成,被終止或者引起異常的時候發生。
3)ProgressChanged:當呼叫ReportProgress()函式的時候會觸發,主要負責UI的更新。
下面是例子:
using System; using System.Collections.Generic; using System.Linq; using System.Net; using System.Windows; using System.Windows.Controls; using System.Windows.Navigation; using Microsoft.Phone.Controls; using Microsoft.Phone.Shell; using BackgroupWorkerExample.Resources; using System.ComponentModel; using System.Threading; namespace BackgroupWorkerExample { public partial class MainPage : PhoneApplicationPage { private BackgroundWorker Bw; private static int count = 0; // 建構函式 public MainPage() { InitializeComponent(); Bw = new BackgroundWorker(); Bw.DoWork += backgroundWorker_DoWork; Bw.RunWorkerCompleted += backgroundWorker_RunWorkerCompleted; //可以返回工作進度 Bw.WorkerReportsProgress = true; Bw.ProgressChanged += backgroundWorker_ProgressChanged; //允許取消 Bw.WorkerSupportsCancellation = true; //開始執行 Bw.RunWorkerAsync(); } private void backgroundWorker_ProgressChanged(object sender, ProgressChangedEventArgs e) { Tb.Text = count.ToString(); } private void backgroundWorker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e) { Tb.Text = "任務結束!"; } private void backgroundWorker_DoWork(object sender, DoWorkEventArgs e) { while (count <= 10) { Thread.Sleep(1000); Bw.ReportProgress(count); count++; } } } }
XAML就不貼了,Tb是一個TextBox。
下面是效果截圖,中間的TextBox中數字會從1每一秒鐘加以,最後加到10然後提示任務結束!
相關推薦
Winphone開發之BackgroupWorker
BackgroupWorker是非常簡單的非同步任務處理,算是多執行緒操作的入門級吧。 BackgroupWorker最重要的是瞭解裡面的幾個事件,下面選擇幾個來介紹下,全面的介紹還是要看MSDN。
Winphone開發之動態載入XAML
XAML是可以動態載入的,這裡所說的動態載入就是說寫好了一個靜態XAML,然後在執行時用C#載入到相應的地方去。 動態載入XAML注意的幾點: 1)待載入的XAML只能有一個根節點,也就是說不能有多個
Winphone開發之資源字典
控制元件的Style前面幾篇部落格有說過了,不過那裡展示的是把Style嵌入到當前的Xaml裡面,這裡顯示怎麼使用資源字典來外接一個Style的檔案,就像CSS一樣引用使用。 首先新建一個XAML作為
Winphone開發之非同步任務處理
這一篇只能算是備註,非同步任務這一塊自己還要多複習作業系統。 下面是XAML: <phone:PhoneApplicationPage x:Class="AsyncTask.MainP
微信公眾平臺開發之萬能表單
平臺 體驗 src .net 等等 art net 獎勵 功能 微信公眾平臺開發之萬能表單是為了方便我們得到用戶的信息。我們能夠在後臺設置不論什麽須要用戶填寫的信息,比方:電話,姓名,性別,工作等等信息,當然我們也能夠設置一定的獎勵,僅僅要完好這些信息就能夠得到一定
ios開發之 -- invalid nib registered for identifier
層級關系 註意 刪除 出現 ide 提示 sta tab 後來 今天在寫代碼的時候,碰到這麼一個問題: invalid nib registered for identifier (重用符) - nib must contain exactly one top level
移動web開發之像素和DPR
javascript element 英語單詞 計算機 web開發 定義 像素,又稱畫素,是圖像顯示的基本單位,譯自英文“pixel”,pix是英語單詞picture的常用簡寫,加上英語單詞“元素”element,就得到pixel,故“像素”表示“圖像元素”之意,有時亦被稱為pel(pi
iOS開發之視頻根據url獲取第一幀圖片,獲取任一幀圖片
keyword rac onerror 根據 ati parameter all ger mage + (UIImage*) thumbnailImageForVideo:(NSURL *)videoURL atTime:(NSTimeInterval)time { AV
(6)微信二次開發 之 微信文本消息接口實現
微信 odin link 消息處理 nal puts 算法 帳號 接口實現 p.p1 { margin: 13.0px 0.0px 13.0px 0.0px; text-align: justify; font: 16.0px SimSun } p.p2 { margin:
Android開發之getX,getRawX,getWidth,getTranslationX等的區別
save string hlist getwidth sta 是我 touch 項目 寬度 轉載請註明出處:http://blog.csdn.net/dmk877/article/details/51550031 好久沒寫博客了,最近工作確實挺忙的,剛剛結束了一個
微信小程序開發之頁面wxml裏面實現循環 wx:for
bin quest span geo back 微信小程序 navi 取數 循環語句 js代碼: Page({ data:{ upploadimagelist:{}, //上報圖片列表 js數組 }}) var uploadimageObj=JSON.parse(
Android應用開發之所有動畫使用詳解
factory 技術分享 resource bsp phi 顯示 程序 恢復 分享 題外話:有段時間沒有更新博客了,這篇文章也是之前寫了一半一直放在草稿箱,今天抽空把剩余的補上的。消失的這段時間真的好忙,節奏一下子有些適應不過來,早晨七點四十就得醒來,晚上九點四十才準備下班
Android 開發之Windows環境下Android Studio安裝和使用教程(圖文詳細步驟)
9.png 虛擬機 jdk版本 編寫 clip 開發平臺 集成開發 arc 電腦安裝 鑒於谷歌最新推出的Android Studio備受開發者的推崇,所以也跟著體驗一下。 一、介紹Android Studio Android Studio 是一個Android
微信小程序開發之三元運算符代替wx.if/wx.else
load == 成功 圖片 運算符 spa asp photos 微信小程序 直接上代碼 實現功能為:當fbphotoFirst為空時,src路徑為“pic/信息反饋1-1_14.png“,並且點擊事件uploadfbphotoFirst有效,否則為路徑fbphotoF
OneNET麒麟座應用開發之五:獲取加速度傳感器ADXL345數據
命令 多個 data lag 基本 采集 .cn 端口 成了 由於數據采集站基本都安裝在野外或者樓頂,安裝位置以及震動對檢測數據的準確性有一定影響。所以想要有一個位置狀態數據,正好發現麒麟作上有ADXL345,這樣一個數字輸出的加速度傳感器。如圖中紅框所示: 1、ADXL
bsp開發之驅動開發
管理器 特定 事件 drivers 一段時間 服務 orm reg 功能 驅動程序是可以管理虛擬設備或者物理設備,協議,服務等得軟件模塊,操作系統僅僅有通過驅動程序才幹訪問硬件。針對windows ce開發設備驅動。就是通過platform builder創建一個新的平
[轉]Eclipse插件開發之基礎篇(1) 插件開發的基礎知識
作用 原本 services 註冊 1-1 啟動 創建 abs class 原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/13/eclipse_plugin_1_0_2.html 名詞翻譯 有一些名詞在翻譯的
[轉]Eclipse插件開發之基礎篇(3) 插件的測試與調試
case ews ... 有時 sam cancel workbench osgi ring 原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/17/eclipse_plugin_1_1_2.html 1. 使用JU
[轉]Eclipse插件開發之基礎篇(4) OSGi框架
動作 update 執行 創建 class cti 指定 mpc 代碼 原文地址:http://www.cnblogs.com/liuzhuo/archive/2010/08/18/eclipse_plugin_1_2_1.html 1. 什麽是OSGi框架 O
Java進擊C#——應用開發之Linq和EF
了吧 -1 擴展 有一點 增刪改 adk 對象 structure mis 本章簡言 上一章筆者對於WinForm開發過程用到的幾個知識點做了講解。筆者們可以以此為開端進行學習。而本章我們來講一個跟ORM思想有關的知識點。在講之前讓我們想一下關於JAVA的hib