Там в FileTransferProgress
событие на Session
класса WinSCP library.
Вы просто должны зарегистрироваться для этого события, а затем обновить пользовательский интерфейс внутри этого обработчика:
using (Session session = new Session())
{
// Will continuously report progress of transfer
session.FileTransferProgress += SessionFileTransferProgress;
/* Down/upload code here */
}
void SessionFileTransferProgress(object sender, FileTransferProgressEventArgs e)
{
// Print transfer progress
Console.Write("\r{0} ({1:P0})", e.FileName, e.FileProgress);
}
Пожалуйста, обратите внимание, что FileTransferProgressEventArgs.Side
позволяет сказать, если арг событий являются для загрузки или скачивания. Другие свойства содержат информацию о скорости передачи, файл в настоящее время переданы и т.д ...
Вот полный документ для него: http://winscp.net/eng/docs/library_session_filetransferprogress
Edit: событие вызывается в начале каждого нового перевода (файл), а затем не более одной секунды для каждой передачи.
Спасибо за ваш ответ! Следующий вопрос: в каком интервале вызывается эта функция во время загрузки/выгрузки? Или есть возможность установить интервал? – ZerOne
Ссылка на документацию, в которой я указывал: «Событие возникает при запуске передачи каждого файла, а затем не более одного раза в секунду для продолжительности передачи». – pysco68
Ах, sry не видел .. Спасибо за ваши ответы! – ZerOne