2015-04-21 128 views
0

我有在明知在FileTransferProgressEventArgs事件使用C#.NET的WinSCP裝配發射的任何設備發送的文件的百分比的問題。更新的WinSCP C#進度條

FileProgress只返回01,或文檔說(0-1),我不明白。我需要知道文件的多字節如何發送而不是0.1,我不明白。我知道CPS是每秒字節數,但我需要更多變量。

的方法,其中我遞增進度條是無效

SessionFileTransferProgress(object sender, FileTransferProgressEventArgs e) 
{ 
    progressBar.Increment((int)e.FileProgress); 
} 

低於其e.FileProgresse.CPS,我認爲可以幫助,但似乎我失去了一些東西。

+1

什麼是事件處理程序的代碼是什麼樣子? –

+0

其中i遞增進度條的方法是如下 空隙SessionFileTransferProgress(對象發件人,FileTransferProgressEventArgs E) { progressBar.Increment((int)的e.FileProgress); } 其e.FileProgress和e.CPS,我認爲可以幫助,但看來我失去了一些東西 –

回答

1

的問題是,你投e.FileProgressint。如你媒體鏈接表示,文檔指定的e.FileProgress範圍從0到1的值,例如0.55。如果將此值轉換爲整數,則會丟失所有小數位。因此,結果值將爲0. 要解決此問題,您可以將e.FileProgress乘以100,將其轉換爲百分比值。因此,您可以獲得範圍從0到100的值。因此,您可以像這樣實現事件處理程序:

void SessionFileTransferProgress(object sender, FileTransferProgressEventArgs e) 
{ 
    progressBar.Value = (int)(e.FileProgress * 100); 
} 

你一定要確保,你的進度條的MinimumMaximum屬性都設置爲默認值0和100