本文共 991 字,大约阅读时间需要 3 分钟。
以下是代码中创建progressbar的实例
int count = 0;
private void button4_Click(object sender, EventArgs e) { Thread th = new Thread(() => { Form form = new Form(); form.Name="myForm"; form.Width = 200; form.Height = 20; form.ControlBox = false; //form.ShowInTaskbar = false; form.StartPosition = FormStartPosition.CenterScreen; ProgressBar pb = new ProgressBar(); pb.Dock = DockStyle.Fill; pb.Maximum = 100; pb.Minimum = 0; pb.Value = count; pb.BringToFront(); pb.Visible = true; pb.Parent = form; form.ShowDialog(); }); th.Start();for (int i = 0; i < 1000;i++ )
{ Thread.Sleep(5); count = Convert.ToInt32(i * 1.0 / 1000 * (100 - 0) + 0); Control control= FindForm("myForm"); if (control!=null&&control.Name == "myForm" && control.IsHandleCreated) { control.Invoke(new Action(() => { ProgressBar pb = control.Controls[0] as ProgressBar; pb.Value = count; })); } } th.Abort(); } public Form FindForm(string name) {foreach (Form f in Application.OpenForms)
{if (f.Name == name) return f;
}
return null;
}
转载地址:http://qzlws.baihongyu.com/