c#實現閃屏Splash效果樣本

來源:互聯網
上載者:User

前不久為了給我的智動郵件搜尋加個Splash視窗來增加使用者的體驗,於是就立馬上網搜了許多關於C# 實現Splash的方法,下面簡單介紹下這些方法,最後再介紹我自己原創的比較簡單而實用的方法:

第一種、VB.NET庫官方方法實現的,這種方法缺點就是太麻煩,而且還要引入VB庫,感覺不是調用一個方法能解決要做很多重寫之類的事才能實現splash視窗

第二種、這種好像是在那個英文網站傳出來的, 叫什麼我記不起來了很出名的一個,就是寫一個公用的SPLASH類,然後類中用個線成以ShowDialog方式出現SPALSH視窗,這種方法可能在VS2003下運行沒問題,可我在2005下一脫離VS環竟運行就會出現BUG了,一關SPALSH視窗後主視窗會打不開

最後我還是自己想了個簡單的方法,現在也在用,以上方法個人感覺問題太多就沒寫代碼出來了,
我的方法是在Program的主函數main()中來窗建一個SPALSH視窗,其實就是個一般的FORM,然後直接以普通方式顯示,因為這樣這個視窗會一直存在,然後你就可以處理你的初始化工作,並建立主表單,最後在顯示主表單運行前先把Splash視窗關了就行了,也不用特別的引用什麼類什麼的,非常方便,以下是源碼(轉載註明來自www.zdwork.cn謝謝):

static class Program
{
/// <summary>
/// 應用程式的主進入點。
/// </summary>
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
F_Splash f = new F_Splash();//你可以下在設計器中設計好該視窗
f.Show();
f.Refresh();//這裡不重新整理的話LABEL的字就不能更新了
Label fl = (Label)f.Controls["g_Back"].Controls["g_Info"];//這裡指向SPLASH視窗中的Label
fl.Text = "主視窗載入中..";
System.Threading.Thread.Sleep(20);
f.Refresh();
F_Main fm = new F_Main();
fl.Text = "初開始化完成..";
f.Refresh();
f.Close();//初開始化完成後關閉SPLASH
f.Dispose();
System.Threading.Thread.Sleep(20);
Application.Run(fm);
}
}
}

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.