Zip for .NET
Progress イベント
使用例 

C1.C1Zip.4.5.2 アセンブリ > C1.C1Zip 名前空間 > C1ZipFile クラス : Progress イベント
zip ファイルに対してデータを読み書きしている間発生します。
シンタックス
'宣言
 
Public Event Progress As ZipProgressEventHandler
public event ZipProgressEventHandler Progress
イベント データ

イベント ハンドラが、このイベントに関連するデータを含む、ZipProgressEventArgs 型の引数を受け取りました。次の ZipProgressEventArgs プロパティには、このイベントの固有の情報が記載されます。

プロパティ解説
現在の操作をキャンセルする場合は true に設定します。  
圧縮または展開されているファイルの長さを取得します。  
圧縮または展開されるファイルの長さを取得します。  
圧縮または展開されているファイルの名前を取得します。  
ストリーム内の現在位置を取得します。  
ストリームへの現在の位置を取得します。  
解説
このイベントでは、ユーザーの判断でプログレスバーなどの UI 要素を更新したり操作をキャンセルしたりできます。
使用例
以下のコードでは、アプリケーションがファイルを圧縮している間、出力ウィンドウにメッセージを出力します。
private void Compress()
{
  // zip ファイルを作成します
  C1Zip zip = new C1Zip();
  zip.Create(zipFileName);
  
  // イベントハンドラに接続します
  zip.Progress += new ZipProgressEventHandler(zip_Progress);
  
  // ファイルを追加します
  foreach (string fileName in Directory.GetFiles(path, "*.*"))
    zip.Entries.Add(fileName);
}
          
// ファイルの圧縮中にメッセージを出力します
private void zip_Progress(object sender, ZipProgressEventArgs e)
{
  Console.WriteLine("{0} を圧縮中です:{1:p0}", 
    e.FileName, e.Position/(float)e.FileLength);
}
参照