




下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
關(guān)于Winform多線程方式登錄代碼
boolrestart=true;
while(restart)
{
Start(outrestart);
}
(1):在主進(jìn)程中不停的調(diào)用start.
voidStart(outboolrestart)
{
boolconnected=false;
restart=false;
string[]userInfo=null;
try
{
//打開(kāi)LoginInfoForm窗體,返回用戶名密碼。
userInfo=GetLoginInfo();//Splasher.GetLoginInfo();
if(userInfo==null)
{
loginOK=false;
return;
}
//啟動(dòng)登陸后臺(tái)線程。LoginProcessForm窗體啟動(dòng)MySplashThread啟動(dòng)不停的打開(kāi)LoginProcessForm窗體。
Splasher.Show();
}
catch(Exceptionerr)
{
DebugHelper.Write(err);
Splasher.ShowDialog(錄入登錄信息發(fā)生特別,請(qǐng)和管理員聯(lián)系,MessageTipType.Error);
return;
}
eProcessStatepreviousStepResult=eProcessState.Complete;
while(Splasher.StartExecute())
{
try
{
switch(Splasher.CurrentStep)
{
caseeLoginState.__:
caseeLoginState.__:
caseeLoginState.__:
caseeLoginState.__:
}
previousStepResult=eProcessState.Complete;
//結(jié)束執(zhí)行
Splasher.EndExecute(previousStepResult);
}
catch(Exceptionerror)
{
//略
}
}
}
//start中的對(duì)過(guò)程的掌握。
staticpublicvoidShow()
{
try
{
//當(dāng)其次次調(diào)用的時(shí)候MySplashThread!=null了這個(gè)時(shí)候
if(MySplashThread!=null)
{
//publicvoidReset()
//{
//progressView.Reset();
//currentItemIndex=0;
//}
//相當(dāng)于觸發(fā)MySplashForm.Reset大事。
MySplashForm.Invoke(newMethodInvoker(MySplashForm.Reset));
//將窗體顯示出來(lái)。
MySplashForm.Invoke(newMethodInvoker(MySplashForm.Show));
return;
}
//當(dāng)?shù)谝淮蔚臅r(shí)候調(diào)用構(gòu)造函數(shù)構(gòu)造出窗體。構(gòu)造出來(lái)以后myResetEvent.Set();(通知)
if(MySplashForm==null)
{
MySplashForm=newLoginProcessForm(myResetEvent);
}
//這里只是每次都調(diào)用Application.Run(MySplashForm);作用相當(dāng)于建立起信息循環(huán)隊(duì)列
MySplashThread=newThread(newThreadStart(Splasher.ShowThread));
MySplashThread.IsBackground=true;
MySplashThread.SetApartmentState(ApartmentState.STA);
MySplashThread.Start();
//等待直到myResetEvent.Set();
myResetEvent.WaitOne(5000);
}
catch(Exceptionerr)
{
DebugHelper.Write(err);
}
}
//構(gòu)造函數(shù)。
publicLoginProcessForm(AutoResetEventautoreset)
{
myResetEvent=autoreset;
Renderer=newSkinFormLoginFormRender();
InitializeComponent();
//this.TopMost=true;
//this.CloseBox=true;
CanMoveWindow=false;
labelVersion.Text=Version:+AssemblyInfoHelper.AssemblyFileVersion;
this.Load+=newEventHandler(LoginProcessForm_Load);
}
delegatevoidEndExecuteCallback(eProcessStatepreviousProcessResult);
staticpublicvoidEndExecute(eProcessStatepreviousProcessResult)
{
//winform中子線程不能更新主線程的控件。所以MySplashForm.InvokeRequired代表是否需要更新主線程控件。
//假如需要更新的話MySplashForm.Invoke
if(MySplashForm.InvokeRequired)
{
//回調(diào)會(huì)連續(xù)執(zhí)行previousProcessResult,等下次的時(shí)候就會(huì)到下面去執(zhí)行了。
MySplashForm.Invoke(newEndExecuteCallback(EndExecute),previousProcessResult);
}
else
{
//假如
MySplashForm.EndExecute(previousProcessResult);
}
}
///
///進(jìn)入下一過(guò)程
///
///
///
publicvoidEndExecute(eProcessStatepreviousProcessResult)
{
//progressView為我們使用的用戶控件
progressView.SetTip(processItems[currentItemIndex],previousProcessResult);
currentItemIndex++;
}
//關(guān)閉代碼
staticpublicvoidClose()
{
try
{
if(MySplashThread==null)return;
if(MySplashForm==null)return;
try
{
MySplashForm.Invoke(newMethodInvoker(MySplashForm.Close));
}
catch(Exceptionerr)
{
DebugHelper.Write(err)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 華南農(nóng)業(yè)大學(xué)《德語(yǔ)會(huì)話(3)》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年素描人物考試試題及答案
- 2025年電機(jī)維修面試題及答案
- 2025年濟(jì)寧素描考試試題及答案
- 2025年江蘇質(zhì)檢員試題及答案
- 2025年院感培訓(xùn)考試試題及答案
- 2025年草房子測(cè)試題及閱讀答案
- 2025年財(cái)政學(xué)試題及答案 陳共
- 2025年高考語(yǔ)文備考之名著閱讀《鄉(xiāng)土中國(guó)》第六章《家族》內(nèi)容概述及跟蹤訓(xùn)練(含答案)
- 2025年旅游資源章節(jié)試題及答案
- 農(nóng)村宅基地買賣合同的標(biāo)準(zhǔn)版該如何寫5篇
- 2025山西國(guó)際能源集團(tuán)社會(huì)招聘258人筆試參考題庫(kù)附帶答案詳解
- 普華永道中天會(huì)計(jì)師事務(wù)所-人工智能機(jī)遇在汽車領(lǐng)域
- 2025年安徽中醫(yī)藥高等專科學(xué)校單招職業(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 湖北省武漢市2024-2025學(xué)年高三2月調(diào)研考試英語(yǔ)試題含答案
- 2025年皖西衛(wèi)生職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)新版
- GB/T 45222-2025食品安全事故應(yīng)急演練要求
- 深靜脈的穿刺術(shù)課件
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫(kù)附答案
- 腰椎穿刺的護(hù)理
- 2025屆高考英語(yǔ)二輪復(fù)習(xí)備考策略課件
評(píng)論
0/150
提交評(píng)論