等待进程框示例

private void simpleButton2_Click(object sender, EventArgs e)
{
    simpleButton2.Enabled = false;
    DevExpress.XtraSplashScreen.SplashFormProperties info = new DevExpress.XtraSplashScreen.SplashFormProperties();
    info.ClosingDelay = 200;
    splashScreenManager = new DevExpress.XtraSplashScreen.SplashScreenManager(typeof(WaitForm1), info);
    splashScreenManager.ShowWaitForm();
    //splashScreenManager.SetWaitFormCaption("提交中,请等待...");
    //splashScreenManager.SetWaitFormDescription("测试这种");

    // 在新线程中执行耗时操作
    Thread thread = new Thread(() =>
    {
        // 模拟一个耗时操作
        for (int i = 1; i <= 10; i++)
        {
            Thread.Sleep(500); // 延迟 500 毫秒
            int progress = i * 10;
        }
        splashScreenManager.CloseWaitForm();
        splashScreenManager.Dispose();
        this.Invoke(new Action(() => { simpleButton2.Enabled = true; }));
    });
     启动线程
    thread.Start();
}

public class WaitForm1 : WaitForm
{
    private ProgressPanel progressPanel1 = new ProgressPanel();

    public WaitForm1()
    {
        //InitializeComponent();
        this.Width = 200;
        this.Height = 80;

        progressPanel1.Dock = DockStyle.Fill;
        this.Controls.Add(progressPanel1);
        this.progressPanel1.AutoHeight = true;
        this.progressPanel1.AutoSize = true;
        this.progressPanel1.Caption = "请等待...";
    }
}

你可能感兴趣的:(Devexpress,c#,开发语言)