日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

30 Days of .NET [Windows Mobile Applications] - Day 01: Minutes to Midnight Countdown(午夜倒数器)...

發(fā)布時(shí)間:2025/4/14 windows 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 30 Days of .NET [Windows Mobile Applications] - Day 01: Minutes to Midnight Countdown(午夜倒数器)... 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

得到原作者 Chris Craft 的同意,本人可以翻譯他的系列文章 30 Days of .NET [Windows Mobile Applications]并在博客園里發(fā)表。這是一個(gè)十分趣味性很高的系列,通過(guò)這個(gè)系列的學(xué)習(xí),可以掌握Windows Mobile開(kāi)發(fā)很多技巧,包括GPS,Bluetooth,界面編程,多線(xiàn)程等等。

在這個(gè)系列的文章,我不會(huì)逐句翻譯,而是討論需求的由來(lái),對(duì)需求的分析思考,對(duì)實(shí)現(xiàn)的表述,以及對(duì)現(xiàn)有實(shí)現(xiàn)的改進(jìn)想法,希望能成為原文的補(bǔ)充。第一篇文章是實(shí)現(xiàn)一個(gè)午夜倒數(shù)器。原文見(jiàn) Day 01: Minutes to Midnight Countdown

需求

這個(gè)需求的由來(lái),作者Chris Craft打算寫(xiě)一個(gè)30 Days of .NET [Windows Mobile Applications]開(kāi)發(fā)的系列文章,然后想到自己是否有決心寫(xiě)完,每個(gè)人都自己的生活:家庭,朋友,事業(yè),興趣已經(jīng)夢(mèng)想。每個(gè)人一天都有而且只有24小時(shí),我們可以知道的是到底還有多少時(shí)間剩下在這一天。

其實(shí)很多時(shí)候,我們做事情光有想法,不付諸行動(dòng),或者行動(dòng)中半途而廢。作者在開(kāi)始的時(shí)候也懷疑自己是否有決心把事情做完,最終的結(jié)果顯示Chris Craft做到了,我希望也向Chris Craft學(xué)習(xí),把這個(gè)系列的文章學(xué)一遍。如果你還是在Windows Mobile開(kāi)發(fā)的門(mén)外徘徊,可以跟著這個(gè)系列每天學(xué)一點(diǎn),想一點(diǎn),不多也不少,打開(kāi)Windows Mobile開(kāi)發(fā)精彩之門(mén),感受個(gè)中樂(lè)趣。

準(zhǔn)備工作

學(xué)習(xí)這個(gè)系列,需要安裝Visual Studio 2008和Windows Mobile 6 SDK。 Visual Studio 2008 Express 下載見(jiàn) Visual Studio Express, Windows Mobile 6 SDK 下載于 Windows Mobile 6 Professional and Standard Software Development Kits Refresh。


實(shí)現(xiàn)

這些程序很簡(jiǎn)單,關(guān)鍵運(yùn)用了Timer,DateTime和進(jìn)程條(Progress Bar)。
Timer是通過(guò)控件使用的,所以回調(diào)時(shí)間在屬性里進(jìn)行配置,如下:

圖1

圖2
Interval設(shè)置為100表示每100毫秒回調(diào)一次timer_Tick(object sender, EventArgs e)。

?

private?void?timer_Tick(object?sender,?EventArgs?e)
{
?TimeSpan?timeSpan?
=?DateTime.Now.Date.AddDays(1)?-?DateTime.Now;
?labelHours.Text?
=?string.Format("{0}?of?24?hours?left",?timeSpan.Hours);
?labelMinutes.Text?
=?string.Format("{0}?of?60?minutes?left",?timeSpan.Minutes);
?labelSeconds.Text?
=?string.Format("{0}?of?60?seconds?left",?timeSpan.Seconds);

?labelTotalMinutes.Text?
=?string.Format("{0}?of?1440?total?minutes?left",?timeSpan.TotalMinutes.ToString("#.0"));
?labelTotalSeconds.Text?
=?string.Format("{0}?of?86400?total?seconds?left",?timeSpan.TotalSeconds);

?progressBarTotal.Value?
=?86400?-?(int)?timeSpan.TotalSeconds;

?progressBarHours.Value?
=?24?-?timeSpan.Hours;
?progressBarMinutes.Value?
=?60?-?timeSpan.Minutes;
?progressBarSeconds.Value?
=?60?-?timeSpan.Seconds;

?progressBarTotalMinutes.Value?
=?1440?-?(int)?timeSpan.TotalMinutes;
?progressBarTotalSeconds.Value?
=?86400?-?(int)?timeSpan.TotalSeconds;
}

這個(gè)回調(diào)函數(shù)的算法也很簡(jiǎn)單,DateTime.Now.Date.AddDays(1)取出午夜的時(shí)間DateTime對(duì)象,然后和當(dāng)前時(shí)間相減得到TimeSpan的對(duì)象timeSpan,從timeSpan的取出當(dāng)前和午夜的時(shí)間差呈現(xiàn)到Label以及ProgressBar上。在total minutes left上,作者做了處理,因?yàn)橛袝r(shí)候會(huì)顯示小數(shù)錯(cuò)誤"X.666666666 of 1440 total minutes left".通過(guò)字符串的格式化以后timeSpan.TotalMinutes.ToString("#.0"),顯示正常。

安裝文件: minutes2Midnight.cab

源代碼: minuates2Midnight.zip

?

.NET Compact Framework, WinCE, Windows Mobile開(kāi)發(fā)系列

Jake's Blog in 博客園 -- 精簡(jiǎn)開(kāi)發(fā) 無(wú)線(xiàn)生活

轉(zhuǎn)載于:https://www.cnblogs.com/procoder/archive/2009/05/20/1471334.html

總結(jié)

以上是生活随笔為你收集整理的30 Days of .NET [Windows Mobile Applications] - Day 01: Minutes to Midnight Countdown(午夜倒数器)...的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。