您好,因此我获得了从FTP下载文件的非常简单的功能。看起来像这样:
//Download files from FTP, return true of false if succed
public static bool DownloadFileFromFTP( string ip, string RemoteFilePath, string LocalFilePath, string username, string password)
{
try
{
FtpClient client = new FtpClient(ip);
client.Credentials = new NetworkCredential(username, password);
client.Connect();
ProgressBar progressBar;
progressBar = new ProgressBar();
Progress<double> progress = new Progress<double>(x => {
if (x > 0)
{
progressBar.Report((double)x / 100);
}
});
bool succes = client.DownloadFile(LocalFilePath, RemoteFilePath, FtpLocalExists.Overwrite, FluentFTP.FtpVerify.Retry, progress);
if(succes == true)
{
succes = true;
}
else
{
succes = false;
}
client.Disconnect();
progressBar.Dispose();
return succes;
}
catch(Exception e)
{
MessageBox.Show(e.ToString());
return false;
}
}
这个方法在一个类中,我在另一个类中这样称呼它:
Functions_General.DownloadFileFromFTP("192.168.240.86", "Ultra_Script/path", @"C:\Windows\Temp\Adobe_Reader.exe", "username", "password");
一切正常。但是函数本身内部带有进度条,并在完成下载后将其配置为:
progressBar.Dispose();
但是有一个问题,我需要将其放置在类中,在该类中,调用该方法的方法是否可以实现?
我需要有3个同步进度条,并在3个下载全部完成之后将其销毁。
谢谢
答案 0 :(得分:0)
您可以将ProgressBar设置为静态字段,以便可以从任意位置访问它。