'宣言 Public Event Progress As ZipProgressEventHandler
public event ZipProgressEventHandler Progress
イベント データ
イベント ハンドラが、このイベントに関連するデータを含む、ZipProgressEventArgs 型の引数を受け取りました。次の ZipProgressEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
Cancel | 現在の操作をキャンセルする場合は true に設定します。 |
FileLength | 圧縮または展開されているファイルの長さを取得します。 |
FileLengthLong | 圧縮または展開されるファイルの長さを取得します。 |
FileName | 圧縮または展開されているファイルの名前を取得します。 |
Position | ストリーム内の現在位置を取得します。 |
PositionLong | ストリームへの現在の位置を取得します。 |
解説
このイベントでは、ユーザーの判断でプログレスバーなどの 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); }
参照