本人编写了一个系统定时备份程序,但由于需备份的数据比较大,耗费时间较长,想做个与状态同步的进度条显示进度,请教各位前辈高手该怎么做?
解决方案 »
- C#中点击两次Button控件,如何出现不同的图标?
- 请问如何在textbox中中间开始输入
- 请问如何将2009-4-26 下午 07:04:00 转换24小时制
- b/s架构的,如何能实现服务器断电的情况,客户端也能照常运行
- 推荐本学习c#的书
- 想写一个中国象棋程序,请给点思路~
- 一个winform程序给个人用户使用,请问使用什么数据库比较合适?
- aboutbox的问题, 大哥们帮帮忙, 谢谢
- C#,Web站点,表单数据安全post,必须要购买SSL证书吗?自制的是否违法?
- 有关ComboBox控间,请指教!在线等……
- 从资源文件中修改pictureBox的图片
- [ 在线 ] C# 使用 DllImport 机制调用标准 Win32 DLL 出现问题,谢谢。
value=100的时候 进度条就满了
你自己决定在什么时候让他满,什么时候是50% 70%等等
简单点的法子,通过异步调用就能实现!下面的代码中,界面上放一个按钮(btnBackup)和一个滚动条(progressBar1):
private void btnBackup_Click(object sender, EventArgs e)
{
progressBar1.Style = ProgressBarStyle.Marquee; MethodInvoker mi = new MethodInvoker(DoBackup);
mi.BeginInvoke(null, null);
} //备份完成
private void BackupFinish()
{
progressBar1.Style = ProgressBarStyle.Blocks;
MessageBox.Show("备份完成");
} //备份方法
private void DoBackup()
{
//执行备份方法
//.......
BeginInvoke(new MethodInvoker(BackupFinish));
}
谢谢,设为全局变量后使用MethodInvoker成功了。能否再给说说,要是使用delegate的话该如何使用?
BeginInvoke(new MethodInvoker(BackupFinish));
BackupFinish方法即是备份完成后,执行的方法.
至于你上面提到的delegate,我希望楼主先自己去研究,不懂了再上来问.这样也许对你的帮助会更大些.