代码:
方法一:窗体的代码-->可以直接通过预设的click事件来实现控制进度条。
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 |
public partial class form1 : form
{
public form1()
{
initializecomponent();
toolstripprogressbar_save.minimum = 0;
toolstripprogressbar_save.maximum = 100;
toolstripprogressbar_save.step = 5;
}
#region 不涉及数据传输
private void button_10_click(object sender, eventargs e)
{
//清空进度表
toolstripprogressbar_save.value = 0;
if(toolstripprogressbar_save.value<10)
{
for (int i=0;i<2;i++)
{
toolstripprogressbar_save.performstep();
toolstriplabel_save.text = toolstripprogressbar_save.value.tostring() + "%";
}
}
}
private void button_30_click(object sender, eventargs e)
{
if (toolstripprogressbar_save.value < 30)
{
for(int i=0;i<4;i++)
{
toolstripprogressbar_save.performstep();
}
}
toolstriplabel_save.text = "30%";
}
private void button_50_click(object sender, eventargs e)
{
if (toolstripprogressbar_save.value < 50)
{
for (int i = 0; i < 4; i++)
{
toolstripprogressbar_save.performstep();
}
}
toolstriplabel_save.text = "50%";
}
private void button_60_click(object sender, eventargs e)
{
if (toolstripprogressbar_save.value < 60)
{
for (int i = 0; i < 2; i++)
{
toolstripprogressbar_save.performstep();
}
}
toolstriplabel_save.text = "60%";
}
private void button_80_click(object sender, eventargs e)
{
if (toolstripprogressbar_save.value < 80)
{
for (int i = 0; i < 4; i++)
{
toolstripprogressbar_save.performstep();
}
}
toolstriplabel_save.text = "80%";
}
private void button_100_click(object sender, eventargs e)
{
if (toolstripprogressbar_save.value < 100)
{
for (int i = 0; i < 4; i++)
{
toolstripprogressbar_save.performstep();
}
}
toolstriplabel_save.text = "complete!";
}
#endregion
private void button_save_click(object sender, eventargs e)
{
save.singleton().saveall();
}
}
|
方法二:通过调用其他类里的方法来实现对进度条的控制。
注意一:需要using system.windows.forms;
注意二:进度条toolstripprogressbar的权限需要改成public
?| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 |
public class save
{
private static save _instance = null;
private form1 n = null;
public void saveall()
{
getwnd();
n.toolstripprogressbar_save.minimum = 0;
n.toolstripprogressbar_save.maximum = 100;
//清空进度表
n.toolstripprogressbar_save.value = 0;
n.toolstripprogressbar_save.step = 5;
#region 保存过程-与单独按钮是一样的
if (n.toolstripprogressbar_save.value < 10)
{
for (int i = 0; i < 2; i++)
{
n.toolstripprogressbar_save.performstep();
n.toolstriplabel_save.text = n.toolstripprogressbar_save.value.tostring() + "%";
}
}
thread.sleep(1000);
if (n.toolstripprogressbar_save.value < 30)
{
for (int i = 0; i < 4; i++)
{
n.toolstripprogressbar_save.performstep();
n.toolstriplabel_save.text = n.toolstripprogressbar_save.value.tostring()+"%";
}
}
thread.sleep(100);
if (n.toolstripprogressbar_save.value < 50)
{
for (int i = 0; i < 4; i++)
{
n.toolstripprogressbar_save.performstep();
n.toolstriplabel_save.text = n.toolstripprogressbar_save.value.tostring() + "%";
}
}
thread.sleep(100);
if (n.toolstripprogressbar_save.value < 60)
{
for (int i = 0; i < 2; i++)
{
n.toolstripprogressbar_save.performstep();
n.toolstriplabel_save.text = n.toolstripprogressbar_save.value.tostring() + "%";
}
}
thread.sleep(100);
if (n.toolstripprogressbar_save.value < 80)
{
for (int i = 0; i < 4; i++)
{
n.toolstripprogressbar_save.performstep();
n.toolstriplabel_save.text = n.toolstripprogressbar_save.value.tostring() + "%";
}
}
thread.sleep(100);
if (n.toolstripprogressbar_save.value < 100)
{
for (int i = 0; i < 4; i++)
{
n.toolstripprogressbar_save.performstep();
n.toolstriplabel_save.text = n.toolstripprogressbar_save.value.tostring() + "%";
}
}
n.toolstriplabel_save.text = "complete!";
thread.sleep(100);
#endregion
}
//查找当前打开的窗体,必须有这个才能传递数据
private void getwnd()
{
foreach(form fm in application.openforms)
{
if (fm.name == "form1")
{
n = (form1)fm;
break;
}
}
}
public static save singleton()
{
if (_instance == null)
{
_instance = new save();
}
return _instance;
}
}
|
效果图:(左边为方法一的效果、右边为方法二的效果图)










发表评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。