一:win form登錄機(jī)制的實(shí)現(xiàn)
main窗體為應(yīng)用程式主窗體,login為登錄窗體。均為sdi窗體。
兩種實(shí)現(xiàn)方式如下:
1、應(yīng)用程式入口放在login窗體,在login窗體實(shí)現(xiàn)登錄機(jī)制,驗(yàn)證通過(guò)則創(chuàng)建main窗體的實(shí)例,并將自身隱藏。
具體實(shí)現(xiàn):
///step1:驗(yàn)證登錄
///step2:通過(guò)
this.hide();
omain.show();
雖然可以實(shí)現(xiàn)登錄機(jī)制,但是login窗體并沒(méi)有釋放掉,而是被隱藏掉,內(nèi)存資源未有效利用。這種方式其實(shí)是不可取的。
2、應(yīng)用程式入口放在main窗體,在main函數(shù)中創(chuàng)建login窗體的實(shí)例,login窗體完成登錄驗(yàn)證,返回main窗體,程式繼續(xù)執(zhí)行。需要注意的是login窗體只有驗(yàn)證通過(guò)時(shí)返回值才為dialogresult.ok,其余時(shí)返回dialogresult.none。這樣在main窗體就可以根據(jù)返回值判斷是否創(chuàng)建main窗體的實(shí)例。
/// <summary>
/// 應(yīng)用程序的主入口點(diǎn)。
/// </summary>
[stathread]
static void main()
{
frmlogin login = new frmlogin();
login.showdialog();
if(login.dialogresult.equals(dialogresult.ok))
{
login.close();
application.run(new frmmain());
}
}
二:利用imagelist作為resource的載體
win form的程式,外部文件是比較煩人的事情,這里采用resource將外部圖片文件加載到程式中。而imagelist是一個(gè)不錯(cuò)的選擇,使用簡(jiǎn)單。
具體實(shí)現(xiàn):
///step1:將圖片在可是模式下加載到imagelist中。
///step2:程式中可以采用this.imglstresource.images[index]的方式獲取其中的image對(duì)象。
新聞熱點(diǎn)
疑難解答
圖片精選