日期:2014-05-18 浏览次数:21454 次
namespace ProcessBar
{
public partial class Form1 : Form
{
private delegate void ShowProcessBarFrm(int max, int value);
private frmProcessBar myProgbar;
public Form1()
{
InitializeComponent();
myProgbar = new frmProcessBar();
}
private void button1_Click(object sender, EventArgs e)
{
Thread thread = new Thread(new ThreadStart(UpdateProgressBar));
thread.Start();
if (myProgbar != null)
{
lock (myProgbar.ProgressBar)
{
myProgbar.ShowDialog();
}
}
}
private void UpdateProgressBar()
{
ShowProcessBarFrm p = new ShowProcessBarFrm(myProgbar.SetProgess);
int initialValue = 100;
for (int count = 0; count < initialValue; count = count + 2)
{
//myProgbar.SetProgess(initialValue, count);
p.Invoke(initialValue, count);
}
}
}
}
public void SetProgess(int max, int value)
{
if (value <= max)
{
if (InvokeRequired)
{
progressBar1.Maximum = max;
progressBar1.Value = value;
if (value == max)
{
progressBar1.Visible = false;
}
else
{
progressBar1.Visible = true;
}
}
}
}