我希望在加載應用程序時顯示啟動屏幕。我有一個與系統托盤控件綁定在一起的表單。我希望在加載此表單時顯示啟動屏幕,這需要一些時間,因為它正在訪問Web服務API來填充一些下拉菜單。我還想在加載之前對依賴項進行一些基本測試(即,Web服務可用,配置文件可讀)。隨著啟動過程的各個階段的進行,我想用進度更新初始屏幕。我已經閱讀了很多有關線程的文章,但是我對應該從哪里控制(main()方法?)感到迷茫。我也缺少Application.Run()工作原理,這是應該從中創建線程的地方嗎?現在,如果帶有系統任務欄控件的表單是“活動”表單,那么飛濺應該從那里來嗎?反正要等到表格完成才加載嗎?我不是在尋找代碼講義,更多是算法/方法,所以我可以一勞永逸地解決這個問題:)
3 回答
阿晨1998
TA貢獻2037條經驗 獲得超6個贊
好吧,對于我過去部署的ClickOnce應用程序,我們使用Microsoft.VisualBasic名稱空間來處理啟動屏幕線程。您可以Microsoft.VisualBasic在.NET 2.0中引用和使用C#中的程序集,它提供了許多不錯的服務。
具有主要形式繼承自 Microsoft.VisualBasic.WindowsFormsApplicationBase
覆蓋“ OnCreateSplashScreen”方法,如下所示:
protected override void OnCreateSplashScreen()
{
this.SplashScreen = new SplashForm();
this.SplashScreen.TopMost = true;
}
非常簡單,它會在加載過程中顯示您的SplashForm(您需要創建),然后在主窗體完成加載后自動將其關閉。
這確實使事情變得簡單,并且VisualBasic.WindowsFormsApplicationBase經過Microsoft的嚴格測試,并且具有許多功能,即使在100%C#的應用程序中,也可以使您在Winforms中的工作變得更加輕松。
歸根結底,都是IL bytecode,所以為什么不使用它呢?
- 3 回答
- 0 關注
- 621 瀏覽
添加回答
舉報
0/150
提交
取消
