• <menu id="w2i4a"></menu>
  • logo DevExpress WinForm中文手冊(cè)

    等待表單


    立即下載DevExpress WinForms

    啟動(dòng)畫(huà)面管理器允許您創(chuàng)建一個(gè)等待表單(WaitForm) ,一種旨在識(shí)別皮膚的表單,用于指示耗時(shí)的操作。

    DevExpress WinForms幫助文檔

    主要功能包括:

    • 動(dòng)畫(huà)的連續(xù)進(jìn)度指示器。
    • 您可以在代碼中顯示關(guān)閉等待表單。
    • 設(shè)計(jì)時(shí)自定義。
    • 通過(guò)命令與等待表單進(jìn)行交互。
    • 默認(rèn)外觀設(shè)置取決于皮膚。
    DevExpress WinForms幫助文檔

    創(chuàng)建和自定義等待表單

    • 將SplashScreenManager 組件拖放到表單上,右鍵單擊Visual Studio托盤(pán)中的組件,然后選擇Add Wait Form。
    DevExpress WinForms幫助文檔
    • SplashScreenManager將新的WaitForm添加到您的項(xiàng)目。
    DevExpress WinForms幫助文檔
    • 要在設(shè)計(jì)時(shí)查看和自定義等待表單,請(qǐng)?jiān)赟olution Explorer中雙擊WaitForm1.cs(WaitForm1.vb)文件。
    DevExpress WinForms幫助文檔
    • 使用屬性網(wǎng)格更改內(nèi)置ProgressPanel的顯示設(shè)置,此面板顯示動(dòng)畫(huà)進(jìn)度指示器和標(biāo)簽。
    DevExpress WinForms幫助文檔

    注意:如果需要使用自定義類(lèi)擴(kuò)展WaitForm1.cs/.vb文件,請(qǐng)確保封裝Wait Form的類(lèi)在這些文件中排在第一位。

    顯示和隱藏等待表單

    等待表單不會(huì)在主表單啟動(dòng)時(shí)自動(dòng)顯示,您可以使用以下方法顯示和關(guān)閉等待表單,具體取決于等待表單是否處于激活狀態(tài)(已分配給 SplashScreenManager.ActiveSplashFormTypeInfo屬性)。

    • 目標(biāo)等待表單處于激活狀態(tài)。
    DevExpress WinForms幫助文檔

    要顯示/關(guān)閉等待表單,請(qǐng)使用非靜態(tài)的SplashScreenManager.ShowWaitForm和SplashScreenManager.CloseWaitForm方法。

    C#:

    splashScreenManager1.ShowWaitForm();
    //...
    splashScreenManager1.CloseWaitForm();

    VB.NET:

    splashScreenManager1.ShowWaitForm()
    
    splashScreenManager1.ShowWaitForm()
    '...
    splashScreenManager1.CloseWaitForm()
    splashScreenManager1.CloseWaitForm()
    • 目標(biāo)等待表單未激活。
    DevExpress WinForms幫助文檔

    要顯示/關(guān)閉等待表單,請(qǐng)使用靜態(tài)SplashScreenManager.ShowForm和SplashScreenManager.CloseForm方法,特定的SplashScreenManager.ShowForm方法重載允許您指定淡入淡出效果和等待表單位置。

    C#:

    SplashScreenManager.ShowForm(typeof(WaitForm1));
    //...
    SplashScreenManager.CloseForm();

    VB.NET:

    SplashScreenManager.ShowForm(GetType(WaitForm1))
    '...
    SplashScreenManager.CloseForm()

    動(dòng)態(tài)更新等待表單

    與其他初始屏幕一樣,等待表單也顯示在單獨(dú)的線程中。

    使用以下方法從主線程動(dòng)態(tài)更新顯示等待表單的標(biāo)題和描述:

    您還可以使用SplashScreenManager.SendCommand方法與當(dāng)前的等待表單進(jìn)行交互(例如,更新其內(nèi)容)。要處理此方法發(fā)送的命令,請(qǐng)重寫(xiě)WaitForm.ProcessCommand方法。

    使用說(shuō)明

    顯示多個(gè)等待表單

    如果您的應(yīng)用程序一次只顯示一個(gè)等待表單,則可以使用單個(gè)SplashScreenManager組件。

    若要同時(shí)顯示多個(gè)等待表單,請(qǐng)使用多個(gè)SplashScreenManager組件。

    MDI應(yīng)用

    在MDI應(yīng)用程序中,不要顯示Control.CreateHandle方法調(diào)用的事件或方法的等待表單 - HandleCreated,Load,MdiChildActivate,OnHandleCreated重載等,否則您的應(yīng)用程序可能會(huì)凍結(jié)。

    而是,使用以下方法:

    C#:

    //Incorrect - the app may freeze
    private void MdiParent_MdiChildActivate(object sender, EventArgs e) {
    //...
    splashScreenManager1.ShowWaitForm();
    splashScreenManager1.SetWaitFormCaption("Please wait");
    splashScreenManager1.SetWaitFormDescription(description);
    //...
    splashScreenManager1.CloseWaitForm();
    }
    
    //Correct
    private void MdiParent_MdiChildActivate(object sender, EventArgs e) {
    BeginInvoke(new Action(() => {
    //...
    splashScreenManager1.ShowWaitForm();
    splashScreenManager1.SetWaitFormCaption("Please wait");
    splashScreenManager1.SetWaitFormDescription(description);
    //...
    splashScreenManager1.CloseWaitForm();
    }));
    }

    VB.NET :

    'Incorrect - the app may crash
    Private Sub MdiParent_MdiChildActivate(ByVal sender As Object, ByVal e As EventArgs)
    '...
    splashScreenManager1.ShowWaitForm()
    splashScreenManager1.SetWaitFormCaption("Please wait")
    splashScreenManager1.SetWaitFormDescription(description)
    '...
    splashScreenManager1.CloseWaitForm()
    End Sub
    
    'Correct
    Private Sub MdiParent_MdiChildActivate(ByVal sender As Object, ByVal e As EventArgs)
    BeginInvoke(New Action(Sub()
    '...
    splashScreenManager1.ShowWaitForm()
    splashScreenManager1.SetWaitFormCaption("Please wait")
    splashScreenManager1.SetWaitFormDescription(description)
    '...
    splashScreenManager1.CloseWaitForm()
    End Sub))
    End Sub
    掃碼咨詢


    添加微信 立即咨詢

    電話咨詢

    客服熱線
    023-68661681

    TOP
    三级成人熟女影院,欧美午夜成人精品视频,亚洲国产成人乱色在线观看,色中色成人论坛 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();