這篇文章向您展示了如何在c#.net Windows窗體應用程序中創建一個等待窗體對話框。
創建一個新表單,然后輸入您的表單名稱為frmWaitForm。接下來,將Label,Progress Bar控件從Visual Studio工具箱中拖到winform中,然后可以如下所示布置ui設計。
我們將使用此表單顯示c#進度欄,請等待。
接下來,創建一個名為Form1的新表單,該表單是主表單。要播放演示,可以將Visual Studio工具箱中的ListView和Button控件拖到主窗體中,然后如下圖所示布置主窗體。
創建Worker屬性以處理Windows窗體c#中的加載程序到 frmWaiForm。
public Action Worker { get; set; }
該行動是委托類型,這是一樣的Func鍵代表除了動作委托不返回值。換句話說,可以將Action委托與具有void返回類型的方法一起使用。
在frmWaitForm構造函數中添加worker參數,就可以使用以下c#代碼來初始化Worker屬性。
public frmWaitForm(Action worker) { InitializeComponent(); if (worker == null) throw new ArgumentNullException(); Worker = worker; }
並且不要忘記重寫OnLoad方法,該方法允許您在關閉表單時啟動新線程。
protected override void OnLoad(EventArgs e) { base.OnLoad(e); //Start new thread to run wait form dialog Task.Factory.StartNew(Worker).ContinueWith(t => { this.Close(); }, TaskScheduler.FromCurrentSynchronizationContext()); }
最后,打開Form1,然后創建SaveData方法。這是一種模擬數據存儲的方法,您可以使用Thread.Sleep方法來延遲循環
void SaveData() { //Add code to process your data for (int i = 0; i <= 500; i++) Thread.Sleep(10); //Simulator }
將按鈕單擊事件處理程序添加到“保存”按鈕,使您可以在Windows窗體C#中打開加載程序。
private void button1_Click(object sender, EventArgs e) { //Open wait form dialog using (frmWaitForm frm = new frmWaitForm(SaveData)) { frm.ShowDialog(this); } }
通過c#示例項目,您可以學習如何創建c#進度對話框,然后用於創建c#加載屏幕或c#啟動屏幕。