【问题标题】:SevenZipSharp show current extracting file while doing extractionSevenZipSharp 在提取时显示当前提取文件
【发布时间】:2012-12-09 05:08:56
【问题描述】:

我正在使用 vb.net 并且想知道在提取档案时如何显示正在提取的文件。我已经有一个解决方法,但它很“作弊”,并没有真正显示当前正在提取的文件。

Public Class Form1
    Private listItemIndex As Integer = 0

    Public Sub ext_Extracting(ByVal sender As Object, ByVal e As SevenZip.ProgressEventArgs)
        Dim ext As SevenZipExtractor = New SevenZipExtractor("C:\Test.7z")
        If listItemIndex < ext.ArchiveFileNames.Count Then
            Label1.Text = ext.ArchiveFileNames.Item(listItemIndex).ToString()
            listItemIndex += 1
        End If
    End Sub
End Class

【问题讨论】:

    标签: vb.net sevenzipsharp


    【解决方案1】:

    这个答案是由 OP 写的,但不正确edited into the question

    好的,我明白了。我必须将“FileInfo.FileName”添加到“SevenZip.FileInfoEventArgs”中,然后在提取时对其进行引用。

    Public Sub FileExtractionStarted(ByVal sender As Object, ByVal e As SevenZip.FileInfoEventArgs)
        Label1.Text = e.FileInfo.FileName
    End Sub
    
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        SevenZipExtractor.SetLibraryPath("C:\7z.dll")
        Dim ext As SevenZipExtractor = New SevenZipExtractor("C:\test.7z")
        ext.BeginExtractArchive("C:\Test")
        AddHandler ext.ExtractionFinished, AddressOf ext_ExtractionFinished
        AddHandler ext.Extracting, AddressOf ext_Extracting
        AddHandler ext.FileExtractionStarted, AddressOf FileExtractionStarted '<---
    End Sub
    

    【讨论】:

    • user1888932:如果您有兴趣从此答案中获得代表点数,请将其作为您自己的答案发布,然后在此处发表评论,我将删除此社区 wiki。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多