C 使用委託呼叫待待閃屏。

2022-01-13 14:01:17 字數 2328 閱讀 2223

以前總在看別人寫的部落格,這是我第一次寫技術部落格,竟然不知道如何開始。在此向裡各位辛勤耕耘的各位博主致敬。

我以前開發asp.net 程式較多,少有接觸winform。最近調換了工作,也有機會接觸winform.首先做winform的感覺像是客場作戰,好多東西都不大熟悉。所以要加強努力。

廢話少說,進入正題。首先說說場景:

程式開發難免會有大資料量操作,在操作大量資料時,有時候需使用者等待,在這一段時間內既不想讓使用者點其它操作,又不像讓使用者感覺程式假死了。怎麼辦?對,就是要需使用乙個等待的閃屏,告訴使用者"資料讀取中"旁邊還有乙個gif動畫在轉動。等到完成操作時,閃屏自動關閉。

接下來看看效果:

可能會有很多同學笑我了:這麼簡單的東西,還拿出來寫?簡單是簡單了點兒,可是對於乙個winform不熟悉的人來說卻也費了不少周章。

再接下來是實現方式

1、簡單的實體類。(ps:因為是個小demo 這個實體就沒怎麼加注釋,^_^)

using system;

using system.collections.generic;

using system.linq;

using system.text;

using system.componentmodel;

using system.collections;

namespace demo

public

string productname

public

int count

public

double pice

public

string uint

}}

2、等待閃屏:相對簡單,沒有**。在窗體上拖了乙個lable控制項 和乙個picturebox,把lable的text屬性設定為:「資料讀取中」並且改了一下字型樣式,給picturebox裝載乙個gif影象

3、主窗體:在主窗體上拉個網格控制項(本demo使用developer express的網格控制項)、乙個按鈕:把按鈕的text屬性改為 「讀取」、乙個bindingsource,

下面看主窗體的實現**

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.text;

using system.windows.forms;

using devexpress.xtraeditors;

using system.data.linq;

using system.threading;

namespace devdemo

frmloading loading = new frmloading();//

閃屏窗體

#region 委託

//////

關閉閃屏

///public

delegate

void closeloading();

//////

繫結資料

//////

資料列表

public

delegate

void bindeddata(listls);

#endregion

private

void formmain_load(object sender, eventargs e)

//////

讀取按鈕點選事件

///private

void button1_click(object sender, eventargs e)

//////

讀取資料

///public

void readdata()

", i)

});thread.sleep(200);//

每新增一條記錄休息200毫秒

}this.invoke(new bindeddata((pls) => ),productlist);

}///

///關閉loading

//////

public

void closeloading(iasyncresult ar)

));}

}}

至此這個demo完成.若有不足之處,或是有更好的方式,歡迎提出。

另外,寫技術部落格真不容易。佩服那些一直更新自己部落格的老師們。

Redis使用(由淺入深,待更新)

override cacheable value usercache key user.findall public listfindall override cacheevict value usercache key user.findall public listqueryuserbyname...

Redis的使用(待更新)

import redis redis的使用 conn redis.redis host 192.168.20.150 port 6379,password conn.set ldq k1 v1 k1 conn.get ldq k1 print k1 b v1 conn.rpush ldq k2 1,...

c 待驗證問題收錄

1 右值引用 右值引用的出現解決了 c 長期以來被人詬病的臨時物件效率問題 消除了諸如 std vector std string 之類的額外開銷,使得函式物件容器 std function 成為可能 左值 表示式結束後依然存在的持久物件 右值 表示式結束後就不再存在的臨時物件2 std threa...