真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C#使用Task在Winform建立控件上的提示等待窗口,實現(xiàn)局部等待加載,不影響主線程(一)

需求:在開發(fā)過程中經(jīng)常需要部分數(shù)據(jù)等待的加載。可能因為某個表比較慢而卡到主線程,所以需要實現(xiàn)局部加載等待。(在Web肯定就ajax異步就好做,winform就比較復雜點了)

公司主營業(yè)務:成都網(wǎng)站設計、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設、移動網(wǎng)站開發(fā)等業(yè)務。幫助企業(yè)客戶真正實現(xiàn)互聯(lián)網(wǎng)宣傳,提高企業(yè)的競爭能力。成都創(chuàng)新互聯(lián)公司是一支青春激揚、勤奮敬業(yè)、活力青春激揚、勤奮敬業(yè)、活力澎湃、和諧高效的團隊。公司秉承以“開放、自由、嚴謹、自律”為核心的企業(yè)文化,感謝他們對我們的高要求,感謝他們從不同領域給我們帶來的挑戰(zhàn),讓我們激情的團隊有機會用頭腦與智慧不斷的給客戶帶來驚喜。成都創(chuàng)新互聯(lián)公司推出平邑免費做網(wǎng)站回饋大家。

效果圖

效果圖的主要效果沒展示出來,就這樣吧。懶了懶了!

用用戶控件新建等待窗口


//Loding2的類 public partial class Loading2 : UserControl, IDisposable//繼承IDisposable { Timer timer1 = new Timer(); public Loading2(Control contorl) { InitializeComponent(); this.Parent = contorl; this.Parent.Enabled = false; this.Visible = false;//默認不顯示
timer1=new System.Windows.Forms.Timer(this.components);
timer1.Interval=30000;
timer1.Tick+=new System.EventHandler(this.timer1_Tick);
        }
        public void Close()
        {
            //自寫Close方法釋放資源
            this.Dispose();
        }
    //開始運行計時以及顯示 public void Start() { this.SendToBack(); this.Visible = true;//顯示 timer1.Enabled = true;//開始計時 } private void Loading2_Layout(object sender, LayoutEventArgs e) { ReLocation();//繪制位置到父級控件中間 } private void ReLocation() { int x = (int)(0.5 * (Parent.Width - this.Width)); int y = (int)(0.5 * (Parent.Height - this.Height)); this.Location = new System.Drawing.Point(x, y); } private void timer1_Tick(object sender, EventArgs e) { LogHelper.Instance.Error("加載超時!");
timer1.Stop();//手動停止,不然就算用戶控件Dispose了,timer也不會釋放和停止 Close();//超時關閉 } /// /// 使用new關鍵字覆蓋原有System.Windows.Forms的Dispose /// private new void Dispose() { if (this.InvokeRequired)//在線程中調用,使用Invoke執(zhí)行是否該用戶控件代碼 { this.Invoke(new Action(() => { if (this.Parent != null) { this.Parent.Enabled = true;//啟用父控件 } Dispose(true);timer1.Dispose();//timer1是非托管資源需手動結束回收,避免任務過多導致內(nèi)存問題程序奔潰 })); } else { if (this.Parent != null) { this.Parent.Enabled = true; } Dispose(true);timer1.Dispose(); } } }

網(wǎng)頁名稱:C#使用Task在Winform建立控件上的提示等待窗口,實現(xiàn)局部等待加載,不影響主線程(一)
文章源于:http://weahome.cn/article/dsoidii.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部