老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

C#中怎么創建一個多線程窗體

C# 中怎么創建一個多線程窗體,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

10年積累的成都做網站、網站設計經驗,可以快速應對客戶對網站的新想法和需求。提供各種問題對應的解決方案。讓選擇我們的客戶得到更好、更有力的網絡服務。我雖然不認識你,你也不認識我。但先網站設計后付款的網站建設流程,更有阿克陶免費網站建設讓你可以放心的選擇與我們合作。

一、多線程中創建等待窗體

   在winform程序開發中,計算機經常會執行一些比較耗時的任務,如大量數據的查詢操作、較為復雜的業務處理等,這些任務往往需要耗時幾秒到幾十秒鐘的時間,在這些任務執行期間winform程序窗體不再響應任何鼠標和鍵盤事件,出現假死狀態,用戶體驗很差。

一個比較好的解決辦法是,在這些任務執行期間在界面前端顯示一個等待窗體,告訴用戶任務正在執行中。

1.1 開發等待窗體

C# 中怎么創建一個多線程窗體

窗體中有一個PictureBox控件和兩個Lable控件,PictureBox控件的Image屬性為一張動態圖片。

  等待窗體源碼

1.2 提供訪問等待窗體的接口

編寫類WaitFormService

C# 中怎么創建一個多線程窗體

復制代碼  

using System;using System.Collections.Generic;using System.Text;using System.Threading;using System.Windows.Forms;namespace NavManager.Utils
{/// /// Using Singleton Design Pattern/// public class WaitFormService
    {public static void CreateWaitForm()
        {
            WaitFormService.Instance.CreateForm();
        }public static void CloseWaitForm()
        {
            WaitFormService.Instance.CloseForm();
        }public static void SetWaitFormCaption(string text)
        {
            WaitFormService.Instance.SetFormCaption(text);
        }private static WaitFormService _instance;private static readonly Object syncLock = new Object();public static WaitFormService Instance
        {get 
            {if (WaitFormService._instance == null)
                {lock (syncLock)
                    {if (WaitFormService._instance == null)
                        {
                            WaitFormService._instance = new WaitFormService();
                        }
                    }
                }return WaitFormService._instance;
            }
        }private WaitFormService()
        {
        }private Thread waitThread;private WaitForm waitForm;public void CreateForm()
        {if (waitThread != null)
            {try{
                    waitThread.Abort();
                }catch (Exception)
                {
                }
            }

            waitThread = new Thread(new ThreadStart(delegate()
            {
                waitForm = new WaitForm();
                Application.Run(waitForm);
            }));
            waitThread.Start();
        }public void CloseForm()
        {if (waitThread != null)
            {try{
                    waitThread.Abort();
                }catch (Exception)
                {
                }
            }
        }public void SetFormCaption(string text)
        {if (waitForm != null)
            {try{
                    waitForm.SetText(text);
                }catch (Exception)
                {
                }
            }
        }

    }
}

1.3 使用WaitFormService提供的接口

try{
        WaitFormService.CreateWaitForm();
        Assembly asmb = Assembly.GetExecutingAssembly();
        Object obj = asmb.CreateInstance(className);
        Form frm = obj as Form;this.ShowMenu(frm);
        WaitFormService.CloseWaitForm();
    }catch (Exception ex)
    {
        WaitFormService.CloseWaitForm();
    }

看完上述內容,你們掌握C# 中怎么創建一個多線程窗體的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀!


當前題目:C#中怎么創建一個多線程窗體
分享路徑:http://www.xueling.net.cn/article/jhscgc.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 久久国产精品二区 | 久久精品一区二区三区视频 | 亚洲国产精品成人女人久久 | 国产精品麻豆视频国产馆 | 亚洲国产精品一区二区第四页 | 国产又粗又黄又爽的A片精华 | 一区二区三区蜜桃 | 91在线视频免费看 | 色妹子av | 爽到憋不住潮喷大喷水视频 | 国产播放隔着超薄丝袜进入 | 久久无码高潮喷水抽搐 | 欧美日韩视频在线播放 | 又黄又湿啪啪响18禁 | 国产小视频一区 | 综合久久精品 | 亚洲国产精品人人做人人爱 | 91亚洲精华国产 | 久久精品国产99精品国产2021 | a级国产毛片 | 久草在线视频免费播放 | 久久免费看少妇高潮a片特黄网站 | 99热久RE这里只有精品小草 | 亚洲成人黄色在线观看 | 久久无码人妻国产一区二区 | 亚洲av日韩av激情亚洲 | 日本三级黄色网址 | 国产成人不卡无码免费视频 | 蜜桃视频在线一区 | 久久riav二区三区 | 色综合无码AV网站 | 久久久久久A亚洲欧洲AV冫 | 开心色av| 老司机免费 | 大地资源高清在线 | 男人操女人视频免费观看 | 日韩中文字幕久久 | 色综合天天综合网国产成人综合天 | 密室大逃脱第三季免费观看高清 | 亚洲精品国产情侣AV在线 | 国产亚洲精品成人av久久果冻 |