一: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)
疑難解答
圖片精選