欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

我的雞肋條之一: 仿CWaitCursor的應(yīng)用

系統(tǒng) 1896 0

?? 在MFC中有這樣一個(gè)類CWaitCursor。功能雖小,但是做UI的時(shí)候卻是從來不會(huì)少用的。以至于用VC的時(shí)候會(huì)用自制的繼承于CWaitCursor的CXXXWaitCursorEx類,用VB的時(shí)候,會(huì)自己做一個(gè)CWaitCursor,。。。。。。
?? # 有關(guān)CWaitCursor的定義以及它本身的意義,如果您不清楚請(qǐng)參閱相關(guān)文檔或者Google一下。
?? # 應(yīng)該很快就可以找到。

?? 到了.NET的時(shí)代,因?yàn)槲鰳?gòu)函數(shù)沒有辦法按照程序員的意愿在指定的時(shí)間發(fā)生,我似乎沒有想的就在很早前否定了這個(gè)功能。其實(shí)在很早的時(shí)候也已經(jīng)知道了Using這個(gè)東西,可惜事情沒有經(jīng)過大腦,只是想當(dāng)然的,外加工作中也不用.NET,失之交臂。

?? 終于讓我有機(jī)會(huì)在今天想起來這件事情,簡(jiǎn)單的做了一小段代碼。

using ?System;
using ?System.Windows.Forms;

namespace ?Change.UI?
{
????
public ? class ?WaitCursor?:?System.IDisposable
????
{

????????
private ?Form?_target;
????????
private ? bool ?_enabled;
????????
private ?Cursor?_cur;

????????
public ?WaitCursor?(?Form?target?)
????????
{
????????????_target?
= ?target;
????????????_enabled?
= ?_target.Enabled;
????????????_cur?
= ?_target.Cursor;

????????????_target.Enabled?
= ? false ;
????????????_target.Cursor?
= ?Cursors.WaitCursor;

????????}


????????
public ? void ?Dispose()
????????
{
????????????
this .Release();
????????}


????????
private ? void ?Release()
????????
{
????????????
if (? ! (_target? == ? null )?)
????????????
{
????????????????_target.Enabled?
= ?_enabled;
????????????????_target.Cursor?
= ?_cur;
????????????}

????????}

????}

}


使用方法:

???????? private ? void ?button1_Click( object ?sender,?System.EventArgs?e)
????????
{
????????????
using (Change.UI.WaitCursor?wc? = ? new ?Change.UI.WaitCursor( this ))
????????????
{
????????????????DateTime?dt;
????????????????dt?
= ?DateTime.Now;
????????????????
while ( true )
????????????????
{
????????????????????System.TimeSpan?diff?
= ?DateTime.Now.Subtract(dt);
????????????????????
if ?(?diff.Seconds? > ? 3 ?)
????????????????????????
return ;
????????????????}

????????????}

????????}


注: 至于為什么不用Sleep等待結(jié)束,只是因?yàn)樽约合雵L試用一下TimeSpan。

?? 上面的代碼至少在我這里工作的還不錯(cuò),但是有下面兩個(gè)問題。
?? 1. 在微軟中文新聞組的DotNet.VB組(?)中有過類似的提問及解答。
?????? 問題:在設(shè)置Form的Enabled的時(shí)候,內(nèi)部的控件也變灰了。
?????? 解決:使用
???????????????? [DllImport("User32.dll")]
???????????? ??? public static extern bool EnableWindow(IntPtr hWnd, bool bEnable);

? 2.? 在Form被禁止使用的時(shí)候點(diǎn)擊Button,那么這個(gè)事件會(huì)被存在消息隊(duì)列中。
?????? 期望使用API可以解決這個(gè)問題,如果無法解決,不知道用.NET的方法要怎么樣才能實(shí)時(shí)的響應(yīng)該事件(也就是說讓事件白發(fā)生?)

追記 [2004/09/16]

?? 如果利用上面的方法在Using Block中查錯(cuò)并對(duì)某Control設(shè)置焦點(diǎn)的話,會(huì)出現(xiàn)無法設(shè)置的情況。這點(diǎn)與VC中應(yīng)該是一樣的。作為解決辦法一直以來我都是這樣做的。

if ?(?XXXX? == ?System.String.Empty?)
{
????XXXX.Focus();
????
return ;
}

using ?(?Change.UI.WaitCursor?wc? = ? new ?Change.UI.WaitCursor( this )?)
{
????
}

我的雞肋條之一: 仿CWaitCursor的應(yīng)用


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 日韩在线成人 | 色五月丁香五月综合五月 | 欧美乱大交xxxx| 国内色综合精品视频在线 | 精品欧美一区二区精品久久久 | 人妻熟女久久久久久久 | 久久精品国产清自在天天线 | 成人一级黄色大片 | 欧亚乱熟女一区二区在线 | 欧美成年网站 | 一区二区三区免费看 | 欧美国产日韩一区二区三区 | 日本视频在线免费观看 | 精品啪啪| 国产免费一区二区在线看 | 天天做天天添天天谢 | 亚洲一区美女 | 欧美日韩在线免费观看 | 贺鹏个人资料 | 国产精品尤物在线观看一区 | 久久精片 | 亚洲欧美中文日韩在线v日本 | 米奇7777狠狠狠狠视频 | 亚洲视频天堂 | 精品一区二区免费视频 | 亚洲免费久久 | 日本福利一区 | 久草国产视频 | 日韩精品一区二区三区在线观看 | 欧美一区2区三区4区公司二百 | 天天综合欧美 | 精品一卡2卡三卡4卡乱码免费 | 在线免费国产 | 久久久久国产一区二区三区 | 精品伊人网 | 中文字幕一区二区视频 | 日本视频在线播放 | 亚洲 综合 欧美 动漫 丝袜图 | 久草在线草a免费线看 | 午夜视频在线观看免费视频 | 国产日韩精品一区 |