C#中初始化視窗或歡迎視窗實現

李勝林發表於2016-11-08

被這個問題困擾很久了,知道今天才知道一個好方法來解決。

有時候,我們需要使用C#在現實主窗體之前先現實歡迎頁面或者初始化窗體。

一般我們會使用一下方法:

namespace PCBBarCodeMonitor
{
    public partial class frmMain : Form    
    {
        public frmMain()     //在此新增程式碼,在登陸窗體顯示前先顯示歡迎窗體
        {
            frmWelcome fw = new frmWelcome();
            fw.Show();//show出歡迎視窗
            System.Threading.Thread.Sleep(2000);//歡迎視窗停留時間2s
            fw.Close();
            InitializeComponent();
        }
    }
}

以上方法可以實現在Main視窗出現之前停留2秒時間現實歡迎視窗,這個辦法雖然對於歡迎窗體可行,但是對於初始化視窗卻不是很好的解決方案了,因為初始化視窗出現時間通常不固定,隨著啟動檢查或者其他初始化項的所花費的時間而定,那怎麼實現這個初始化視窗呢?

還得從我們醉容易忽視的Program類程式入口開始。
程式碼如下:

namespace EasyElements.View
{
    static class Program
    {
        /// <summary>
        /// 應用程式的主入口點。
        /// </summary>
        [STAThread]
        static void Main()
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);
            frmWelcome forWelcome = new frmWelcome();
            if(forWelcome.ShowDialog() == DialogResult.OK)
            {
                Application.Run(new frmMain());
            }
        }
    }
}

別忘了在frmWelcome裡處理完之後加一句這個程式碼哦。

this.DialogResult = DialogResult.OK;
this.Close();

好了,關於C#中初始化視窗或歡迎視窗實現就已經介紹完了,覺得好的話給我一個贊吧!

更多技術文章,請關注我的個人公眾號zssorin,或者掃描下面的二維碼哦。



相關文章