當前位置:編程學習大全網 - 源碼下載 - 求winform 加載窗體時彈出另壹個窗體並顯示進度條的源碼

求winform 加載窗體時彈出另壹個窗體並顯示進度條的源碼

//frmA: 源窗體

//------------------------------------------

//引用

using System.Threading;

public frmA()

{

InitializeComponent();

worker = new BackgroundWorker();

worker.DoWork += new DoWorkEventHandler(worker_DoWork);

worker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);

}

/// <summary>

/// 異步 開始事件

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void worker_DoWork(object sender, DoWorkEventArgs e)

{

//需要執行的代碼

}

/// <summary>

/// 事件: 異步執行完成後

/// </summary>

/// <param name="sender"></param>

/// <param name="e"></param>

private void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

{

MessageBox.Show("執行完成。", "run", MessageBoxButtons.OK, MessageBoxIcon.Information);

}

//點擊壹個按鈕後開始執行

private void btnA_Click(object sender, EventArgs e)

{

//代碼

......

//異步執行開始

worker.RunWorkerAsync(tableName);

//顯示進度窗體

frmB frm = new frmB(this.worker);

frm.StartPosition = FormStartPosition.CenterScreen;

frm.ShowDialog(this);

}

frmB:

//裏面放了壹個loading.gif圖片顯示進度

------------------------------------------------------------

using System;

using System.ComponentModel;

using System.Windows.Forms;

namespace test

{

public partial class frmB: Form

{

public frmB(BackgroundWorker worker)

{

InitializeComponent();

worker.ProgressChanged +=new ProgressChangedEventHandler(worker_ProgressChanged);

worker.RunWorkerCompleted +=new RunWorkerCompletedEventHandler(worker_RunWorkerCompleted);

}

void worker_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)

{

this.Close();

}

void worker_ProgressChanged(object sender, ProgressChangedEventArgs e)

{

//lblStatus.Text = "";

}

//工作完成後執行的事件

public void OnProcessCompleted(object sender, EventArgs e)

{

this.Close();

}

}

  • 上一篇:怎麽解決開機出現Access violation at address 009B1DBF in module pagrst.dll.Read of address 90909090
  • 下一篇:狂風坦克的介紹
  • copyright 2024編程學習大全網