亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

C#中的多線程啟動畫面?

C#中的多線程啟動畫面?

海綿寶寶撒 2019-10-06 15:01:05
我希望在加載應用程序時顯示啟動屏幕。我有一個與系統托盤控件綁定在一起的表單。我希望在加載此表單時顯示啟動屏幕,這需要一些時間,因為它正在訪問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,所以為什么不使用它呢?


查看完整回答
反對 回復 2019-10-06
  • 3 回答
  • 0 關注
  • 621 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號