我在进度条方面遇到严重问题。我正在构建一个自定义备份实用程序,它允许用户现在通过单击按钮强制更新。当他们单击该按钮时,它会调用一个隐藏控制台窗口的控制台应用程序运行完整备份过程,然后完成。在整个过程中没有状态或进度条,因为安装完成后它对用户是透明的......用户引起的问题我们都知道。在 GUI 交互期间,需要有一些东西告诉管理员它正在做某事。这是我的代码:
private void forback_Click(object sender, EventArgs e)
{
BackgroundWorker bg = new BackgroundWorker();
bg.DoWork += new DoWorkEventHandler(MethodToGetInfo);
bg.RunWorkerCompleted += new RunWorkerCompletedEventHandler(bg_RunWorkerCompleted);
progressBar1.Style = ProgressBarStyle.Marquee;
bg.RunWorkerAsync();
}
void MethodToGetInfo(Object sender, DoWorkEventArgs args)
{
Process info = new Process();
info.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
info.StartInfo.FileName = "C:\\Rameses\\Program\\Day_Cloud_Backup.exe";
info.StartInfo.UseShellExecute = false;
info.StartInfo.CreateNoWindow = true;
info.StartInfo.RedirectStandardOutput = true;
info.Start();
}
void bg_RunWorkerCompleted(object sender, RunWorkerCompletedEventArgs args)
{
MessageBox.Show("it's f***ing done");
}
我到底做错了什么。我单击按钮,应用程序运行......但消息框立即显示并且进度条没有停止。
有任何想法吗?