[英]C# completely loading a WinForm without showing it (VS2010)
在VS 2010上使用DevExpress 2012 vol 2.10 C#
第一個問題似乎還不清楚...所以讓我們澄清一下(或至少嘗試一下)!
我們正在使用包含許多按鈕的功能區構建MainForm。 功能區中的每個按鈕都被禁用,直到其各自的狀態為“准備啟用”為止。 “准備啟用”取決於一件事:與按鈕關聯的WinForm_Popup已完全構建,包括數據檢索和DevExpress.ExpressApp.ListView構造。
我們試圖將其放入線程或任務中,但沒有成功:它在WinForm_Popup.Show()上崩潰,但與DragDrop事件相關。
我現在所知道的是Show()方法需要很長時間,但是我不知道此方法會發生什么,而是構造了DevExpress.ExpressApp.ListView,應該將其從Show中刪除(或在Show中刪除)。任務或Thred)。
或者,換句話說,完全按照顯示時的方式完全構建了WinForm_Popup UI,但是以異步方式執行此操作(例如,在單獨的Task中)。
任何想法,建議,幫助,鏈接,建議,技巧...任何“東西”嗎?
制作一個新表格並使其為空。 在program.cs文件中,將您的主窗體更改為新窗體。 然后使新的表單構造函數如下所示:
public newForm()
{
this.Hide();
Thread backTh = new Thread(() =>
{
MainForm mf = new MainForm();
mf.Show();
});
backTh.Start();
}
我會選擇相反的方法,該方法通常用於加載速度慢的系統(如Web瀏覽器)中。 為什么不快速加載表單,然后使用線程填充緩慢加載的網格視圖?
這樣,您就可以像旋轉的沙漏(1995年或更短的時間)那樣告訴用戶數據正在加載。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.