У меня есть простое приложение для создания выигрышных форм, и я хочу отображать индикатор выполнения во время загрузки данных из базы данных в виде сетки. В индикаторе выполнения моего проекта завершено после того, как обработка была завершена или прогресс не отображается вообщеЭто мой код.
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
ADTNEWEntities db = new ADTNEWEntities();
private delegate void MyDeligate();
private void myFunction()
{
dataGridView1.DataSource = db.CashPays.ToList();
}
private void backgroundWorker1_DoWork(object sender,DoWorkEventArgs e)
{
this.Invoke(new updateProgressDelegate(updateProgressBar));
//call your code here
Invoke(new MyDeligate(myFunction));
}
private void backgroundWorker1_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs e)
{
progressBar1.Visible = false;
}
private void button1_Click(object sender, EventArgs e)
{
if (!backgroundWorker.IsBusy)
backgroundWorker.RunWorkerAsync();
}
BackgroundWorker backgroundWorker;
private void Form1_Load(object sender, EventArgs e)
{
backgroundWorker = new BackgroundWorker();
progressBar1.Visible = false;
progressBar1.Style = ProgressBarStyle.Marquee;
backgroundWorker.DoWork += new DoWorkEventHandler(backgroundWorker1_DoWork);
backgroundWorker.RunWorkerCompleted += new RunWorkerCompletedEventHandler(backgroundWorker1_RunWorkerCompleted);
}
private delegate void updateProgressDelegate();
private void updateProgressBar()
{
progressBar1.Visible = true;
}
private void backgroundWorker1_ProgressChanged(object sender, ProgressChangedEventArgs e)
{
progressBar1.Update();
}
}