NSDFile.NSDFolderSize メンバ

フォルダーのサイズを非同期で取得します。


●コンストラクタ

名前 説明
NSDFile.NSDFolderSize NSDFile.NSDFolderSizeを初期化します。

●プロパティの一覧

名前 説明
IsGetFolderSizeRunning GetFolderSizeが稼働中かを返します。
StopGetFolderSize フォルダーサイズの取得中止を設定します。

●メソッドの一覧

名前 引数 戻り値 説明
Dispose なし なし リソースの解放を行います。
GetEndStyleMsg ( NSDFolderSize_EndStyle ) String型 終了スタイルの内容を返します。
GetFolderSize ( String, Boolean, FolderSizeEventHandler, FolderSizeEventHandler, FolderSizeEventHandler, NSD_Asynchronization_DispControl ) Boolean型 フォルダーのサイズを非同期で取得します。

●イベントの一覧

名前 引数 戻り値 説明
Event_GetFolderSizeOneAdd ( Object, NSDFolderSizeEventArgs ) なし 1ファイル毎にサイズを返すイベント。
Event_GetFolderSizeOneFolderAdd ( Object, NSDFolderSizeEventArgs ) なし 1フォルダ取得時に返すイベント。
Event_GetFolderSizeEnd ( Object, NSDFolderSizeEventArgs ) なし フォルダー終了時に返すイベント。

●定数の一覧

名前:NSDFolderSize_EndStyle (終了スタイル。)
名前 内容
NoErr エラーなし。
Running 実行中。
ErrStop エラーにより中断。
UserStop ストップが行われた。
NotSourceFolder フォルダーがありません。

●NSDFolderSizeコンストラクタの説明

構文:Public Sub New()

使用法:Dim Cls_FolderSize As New NSDFile.NSDFolderSize

引数:なし。

使用例:

Public Class Form1
    Dim Cls_FolderSize As New NSDFile.NSDFolderSize
        :
End Class

●NSDFolderSizeプロパティの説明

名前:IsGetFolderSizeRunning

構文:Public ReadOnly Property IsGetFolderSizeRunning() As NSD_File_Run_Style

機能:GetFolderSizeが稼働中かを返します。

Set値:なし。

Get値:稼働中かを返します。(NSD_File_Run_Style

使用例:

Public Class Form1
    ' フォルダーサイズ用.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing
    ' フォルダーサイズフラグ True:取得中 False:取得していません.
    Dim BlnCls_FolderSize As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放処理.
            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズを取得します.
    Private Sub Button_FolderSize_Click( ByVal sender As System.Object, _
                                         ByVal e As System.EventArgs) _
                                         Handles Button_FolderSize.Click
        Try
            Select Case BlnCls_FolderSize
                Case False
                    ' フォルダーサイズの取得.
                    BlnCls_FolderSize = True
                    Me.Button_FolderSize.Text = "中止"   ' ボタンのテキストを変更.
                    If (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize = New NSDFile.NSDFolderSize
                    End If
                    Cls_FolderSize.GetFolderSize(Me.TextBox_FolderSize.Text, _
                                                 True, _
                                                 Nothing, _
                                                 Nothing, _
                                                 AddressOf Event_GetFolderSizeEndCallback, _
                                                 Nothing)
                Case Else
                    ' フォルダーサイズの取得を中止します.
                    Me.Button_FolderSize.Text = "サイズ取得"    ' ボタンのテキストを変更.
                    If Not (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize.StopGetFolderSize = True
                    End If
                    BlnCls_FolderSize = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' 稼動有無で処理を分けます.
    Private Sub Button_FolderSize_OK_Click( ByVal sender As System.Object, _
                                            ByVal e As System.EventArgs) _
                                            Handles Button_FolderSize_OK.Click
        Try
            Select Case Cls_FolderSize.IsGetFolderSizeRunning
                Case NSDFile.NSD_File_Run_Style.NotRunning
                    ' 稼動していません.
                Case NSDFile.NSD_File_Run_Style.Running
                    ' 稼働中です.
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeEndCallback(ByVal sender As Object, _
                                              ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            ' 終了時のメッセージを表示します.
            MsgBox(Cls_FolderSize.GetEndStyleMsg(e.EndStyle))
        Catch ex As Exception
        End Try
    End Sub
End Class
名前:StopGetFolderSize
構文:Public Property StopGetFolderSize() As Boolean

機能:フォルダーサイズの取得中止を設定します。

Set値:True :取得を中止します。

False:取得を中止しません。

Get値:Set値を参照。

使用例:

Public Class Form1
    ' フォルダーサイズ用.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing
    ' フォルダーサイズフラグ True:取得中 False:取得していません.
    Dim BlnCls_FolderSize As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放処理.
            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズを取得します.
    Private Sub Button_FolderSize_Click( ByVal sender As System.Object, _
                                         ByVal e As System.EventArgs) _
                                         Handles Button_FolderSize.Click
        Try
            Select Case BlnCls_FolderSize
                Case False
                    ' フォルダーサイズの取得.
                    BlnCls_FolderSize = True
                    Me.Button_FolderSize.Text = "中止"   ' ボタンのテキストを変更.
                    If (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize = New NSDFile.NSDFolderSize
                    End If
                    Cls_FolderSize.GetFolderSize(Me.TextBox_FolderSize.Text, _
                                                 True, _
                                                 Nothing, _
                                                 Nothing, _
                                                 AddressOf Event_GetFolderSizeEndCallback, _
                                                 Nothing)
                Case Else
                    ' フォルダーサイズの取得を中止します.
                    Me.Button_FolderSize.Text = "サイズ取得"    ' ボタンのテキストを変更.
                    If Not (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize.StopGetFolderSize = True
                    End If
                    BlnCls_FolderSize = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeEndCallback(ByVal sender As Object, _
                                              ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            ' 終了時のメッセージを表示します.
            MsgBox(Cls_FolderSize.GetEndStyleMsg(e.EndStyle))
        Catch ex As Exception
        End Try
    End Sub
End Class

●NSDFolderSizeメソッド の説明

名前:Dispose
構文:Public Overridable Sub Dispose() Implements IDisposable.Dispose

機能:リソースの解放を行います。

※終了時に必ず呼び出します。

引数:なし。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーサイズ.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing

    ' FormClosing.
    Private Sub Form1_FormClosing( _
                        ByVal sender As Object, _
                        ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                        Handles Me.FormClosing
        Try
            ' リソースを解放します.
            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        Finally
        End Try
    End Sub
End Class

 

名前:GetEndStyleMsg

構文:Public Function GetEndStyleMsg( EndStyle ) As String

機能:終了スタイルの内容を返します。

引数:

名前 引数渡しの方法 説明
EndStyle NSDFolderSize_EndStyle 値渡し(ByVal) 終了スタイルを渡します。

戻り値:String

戻り値の説明:

終了スタイルの内容を返します。

使用例:

Public Class Form1
    ' フォルダーサイズ用.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing
    ' フォルダーサイズフラグ True:取得中 False:取得していません.
    Dim BlnCls_FolderSize As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放処理.
            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズを取得します.
    Private Sub Button_FolderSize_Click( ByVal sender As System.Object, _
                                         ByVal e As System.EventArgs) _
                                         Handles Button_FolderSize.Click
        Try
            Select Case BlnCls_FolderSize
                Case False
                    ' フォルダーサイズの取得.
                    BlnCls_FolderSize = True
                    Me.Button_FolderSize.Text = "中止"    ' ボタンのテキストを変更.
                    If (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize = New NSDFile.NSDFolderSize
                    End If
                    Cls_FolderSize.GetFolderSize(Me.TextBox_FolderSize.Text, _
                                                 True, _
                                                 Nothing, _
                                                 Nothing, _
                                                 AddressOf Event_GetFolderSizeEndCallback, _
                                                 Nothing)
                Case Else
                    ' フォルダーサイズの取得を中止します.
                    Me.Button_FolderSize.Text = "サイズ取得"    ' ボタンのテキストを変更.
                    If Not (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize.StopGetFolderSize = True
                    End If
                    BlnCls_FolderSize = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeEndCallback(ByVal sender As Object, _
                                              ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            ' 終了時のメッセージを表示します.
            MsgBox(Cls_FolderSize.GetEndStyleMsg(e.EndStyle))
        Catch ex As Exception
        End Try
    End Sub
End Class

 

名前:GetFolderSize
構文:Public Function GetFolderSize( Folder , SubFolder , Event_GetFolderSizeOneAdd , Event_GetFolderSizeOneFolderAdd , Event_GetFolderSizeEnd , Control ) As Boolean

機能:フォルダーのサイズを非同期で取得します。

引数:

名前 引数渡しの方法 説明
Folder String 値渡し(ByVal) サイズを取得するフォルダーのフルパス名を渡します。
SubFolder Boolean 値渡し(ByVal) サブフォルダーも含むかを渡します。
True :サブフォルダも含みます。
False:サブフォルダは含みません。
Event_GetFolderSizeOneAdd FolderSizeEventHandler 値渡し(ByVal) 1ファイル毎にサイズを返すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Event_GetFolderSizeOneFolderAdd FolderSizeEventHandler 値渡し(ByVal) 1フォルダ取得時に返すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Event_GetFolderSizeEnd FolderSizeEventHandler 値渡し(ByVal) フォルダー終了時に返すイベント関数のアドレスを渡します。
※イベント関数が不要な場合は、Nothingを渡します。
Control NSD_Asynchronization_DispControl 値渡し(ByVal) 非同期表示用のコントロール設定を渡します。
※イベント関数が不要な場合は、Nothingを渡します。

戻り値:Boolean

戻り値の説明:

True:成功 False:失敗

使用例:

Public Class Form1
    ' フォルダーサイズ用.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing
    ' フォルダーサイズフラグ True:取得中 False:取得していません.
    Dim BlnCls_FolderSize As Boolean = False

    ' 表示用コントロールをセット.
    Dim Cls_FolderSizeDispControl As New NSDFile.NSD_Asynchronization_DispControl   ' フォルダーサイズ用.

    ' Loadイベント.
    Private Sub Form1_Load(ByVal sender As Object, _
                           ByVal e As System.EventArgs) _
                           Handles Me.Load
        Try
            ' フォルダーサイズ用コントロールを設定.
            ' ラベル(Label_FileCount)にファイル数+フォルダー数を設定.
            Cls_FolderSizeDispControl.AddControl(Me.Label_FileCount, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.FolderSize_FileCountAndFolderCount + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_Kanma, _
                                                 "内容:", _
                                                 " ファイル数:", _
                                                 "、フォルダー数:")
            ' ラベル(Label_FolderSize)にフォルダーサイズを設定.
            Cls_FolderSizeDispControl.AddControl(Me.Label_FolderSize, _
                                                 NSDFile.NSD_DispControl_Style.ChangeText, _
                                                 NSDFile.NSD_DispControl_TextStyle.FolderSize_FolderSize + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_Kanma + _
                                                 NSDFile.NSD_DispControl_TextStyle.Plus_UnitChange, _
                                                 "フォルダーサイズ", _
                                                 ":", _
                                                 "")
        Catch ex As Exception
        End Try
    End Sub

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放処理.
            If Not (Cls_FolderSizeDispControl Is Nothing) Then
                Cls_FolderSizeDispControl.Dispose()
                Cls_FolderSizeDispControl = Nothing
            End If

            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズを取得します.
    Private Sub Button_FolderSize_Click( ByVal sender As System.Object, _
                                         ByVal e As System.EventArgs) _
                                         Handles Button_FolderSize.Click
        Try
            Select Case BlnCls_FolderSize
                Case False
                    ' フォルダーサイズの取得.
                    BlnCls_FolderSize = True
                    Me.Button_FolderSize.Text = "中止"    ' ボタンのテキストを変更.
                    If (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize = New NSDFile.NSDFolderSize
                    End If
                    Cls_FolderSize.GetFolderSize(Me.TextBox_FolderSize.Text, _
                                                 True, _
                                                 Nothing, _
                                                 Nothing, _
                                                 AddressOf Event_GetFolderSizeEndCallback, _
                                                 Cls_FolderSizeDispControl)
                Case Else
                    ' フォルダーサイズの取得を中止します.
                    Me.Button_FolderSize.Text = "サイズ取得"    ' ボタンのテキストを変更.
                    If Not (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize.StopGetFolderSize = True
                    End If
                    BlnCls_FolderSize = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeEndCallback(ByVal sender As Object, _
                                              ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            ' ボタンのテキストを設定します.
            If Me.InvokeRequired Then
                Me.Invoke(New SetName_Invoke(AddressOf SetBtn_FolderSize), New Object() {"サイズ取得"} )
            Else
                Me.SetBtn_FolderSize("サイズ取得")
            End If
            ' 終了時のメッセージを表示します.
            MsgBox(Cls_FolderSize.GetEndStyleMsg(e.EndStyle))
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得ボタンのテキストを設定.
    Public Sub SetBtn_FolderSize(ByVal StrVal_Text As String)
        Try
            Me.Button_FolderSize.Text = StrVal_Text
        Catch ex As Exception
        End Try
    End Sub
End Class

●NSDFolderSizeイベントの説明

 

名前:Event_GetFolderSizeOneAdd

構文:Public Sub Event_GetFolderSizeOneAddCallback( sender , e )

機能:フォルダーサイズに1ファイルのサイズを追加した時に発生するイベント。

GetFolderSizeの第3引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDFolderSizeEventArgs 値渡し(ByVal) フォルダーサイズ用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーサイズ用.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing
    ' フォルダーサイズフラグ True:取得中 False:取得していません.
    Dim BlnCls_FolderSize As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放処理.
            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズを取得します.
    Private Sub Button_FolderSize_Click( ByVal sender As System.Object, _
                                         ByVal e As System.EventArgs) _
                                         Handles Button_FolderSize.Click
        Try
            Select Case BlnCls_FolderSize
                Case False
                    ' フォルダーサイズの取得.
                    BlnCls_FolderSize = True
                    Me.Button_FolderSize.Text = "中止"    ' ボタンのテキストを変更.
                    If (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize = New NSDFile.NSDFolderSize
                    End If
                    Cls_FolderSize.GetFolderSize(Me.TextBox_FolderSize.Text, _
                                                 True, _
                                                 AddressOf Event_GetFolderSizeOneAdd, _
                                                 AddressOf EventVal_GetFolderSizeOneFolderAdd, _
                                                 AddressOf Event_GetFolderSizeEndCallback, _
                                                 Nothing)
                Case Else
                    ' フォルダーサイズの取得を中止します.
                    Me.Button_FolderSize.Text = "サイズ取得"    ' ボタンのテキストを変更.
                    If Not (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize.StopGetFolderSize = True
                    End If
                    BlnCls_FolderSize = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズに1ファイルのサイズを追加した時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeOneAdd(ByVal sender As Object, _
                                        ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズに1フォルダーを追加した時に呼び出されるイベント関数.
    Public Sub EventVal_GetFolderSizeOneFolderAdd(ByVal sender As Object, _
                                                  ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeEndCallback(ByVal sender As Object, _
                                              ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            ' 終了時のメッセージを表示します.
            MsgBox(Cls_FolderSize.GetEndStyleMsg(e.EndStyle))
        Catch ex As Exception
        End Try
    End Sub
End Class

 

名前:Event_GetFolderSizeOneFolderAdd

構文:Public Sub Event_GetFolderSizeOneFolderAdd( sender , e )

機能:フォルダーサイズに1フォルダーを追加した時に発生するイベント。

GetFolderSizeの第4引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDFolderSizeEventArgs 値渡し(ByVal) フォルダーサイズ用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーサイズ用.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing
    ' フォルダーサイズフラグ True:取得中 False:取得していません.
    Dim BlnCls_FolderSize As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放処理.
            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズを取得します.
    Private Sub Button_FolderSize_Click( ByVal sender As System.Object, _
                                         ByVal e As System.EventArgs) _
                                         Handles Button_FolderSize.Click
        Try
            Select Case BlnCls_FolderSize
                Case False
                    ' フォルダーサイズの取得.
                    BlnCls_FolderSize = True
                    Me.Button_FolderSize.Text = "中止"    ' ボタンのテキストを変更.
                    If (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize = New NSDFile.NSDFolderSize
                    End If
                    Cls_FolderSize.GetFolderSize(Me.TextBox_FolderSize.Text, _
                                                 True, _
                                                 AddressOf Event_GetFolderSizeOneAdd, _
                                                 AddressOf Event_GetFolderSizeOneFolderAdd, _
                                                 AddressOf Event_GetFolderSizeEndCallback, _
                                                 Nothing)
                Case Else
                    ' フォルダーサイズの取得を中止します.
                    Me.Button_FolderSize.Text = "サイズ取得"    ' ボタンのテキストを変更.
                    If Not (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize.StopGetFolderSize = True
                    End If
                    BlnCls_FolderSize = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズに1ファイルのサイズを追加した時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeOneAdd(ByVal sender As Object, _
                                            ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズに1フォルダーを追加した時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeOneFolderAdd(ByVal sender As Object, _
                                               ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeEndCallback(ByVal sender As Object, _
                                              ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            ' 終了時のメッセージを表示します.
            MsgBox(Cls_FolderSize.GetEndStyleMsg(e.EndStyle))
        Catch ex As Exception
        End Try
    End Sub
End Class

 

名前:Event_GetFolderSizeEnd

構文:Public Sub Event_GetFolderSizeEnd( sender , e )

機能:フォルダーサイズの取得終了時に発生するイベント。

GetFolderSizeの第5引数でアドレスを渡します。

引数:

名前 引数渡しの方法 説明
sender Object 値渡し(ByVal) Nothingが渡されます。
e NSDFolderSizeEventArgs 値渡し(ByVal) フォルダーサイズ用のイベントが渡されます。

戻り値:なし。

使用例:

Public Class Form1
    ' フォルダーサイズ用.
    Dim Cls_FolderSize As NSDFile.NSDFolderSize = Nothing
    ' フォルダーサイズフラグ True:取得中 False:取得していません.
    Dim BlnCls_FolderSize As Boolean = False

    ' FormClosing.
    Private Sub Form1_FormClosing(ByVal sender As Object, _
                                  ByVal e As System.Windows.Forms.FormClosingEventArgs) _
                                  Handles Me.FormClosing
        Try
            ' 解放処理.
            If Not (Cls_FolderSize Is Nothing) Then
                Cls_FolderSize.Dispose()
                Cls_FolderSize = Nothing
            End If
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズを取得します.
    Private Sub Button_FolderSize_Click( ByVal sender As System.Object, _
                                         ByVal e As System.EventArgs) _
                                         Handles Button_FolderSize.Click
        Try
            Select Case BlnCls_FolderSize
                Case False
                    ' フォルダーサイズの取得.
                    BlnCls_FolderSize = True
                    Me.Button_FolderSize.Text = "中止"    ' ボタンのテキストを変更.
                    If (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize = New NSDFile.NSDFolderSize
                    End If
                    Cls_FolderSize.GetFolderSize(Me.TextBox_FolderSize.Text, _
                                                 True, _
                                                 AddressOf Event_GetFolderSizeOneAdd, _
                                                 AddressOf Event_GetFolderSizeOneFolderAdd, _
                                                 AddressOf Event_GetFolderSizeEndCallback, _
                                                 Nothing)
                Case Else
                    ' フォルダーサイズの取得を中止します.
                    Me.Button_FolderSize.Text = "サイズ取得"    ' ボタンのテキストを変更.
                    If Not (Cls_FolderSize Is Nothing) Then
                        Cls_FolderSize.StopGetFolderSize = True
                    End If
                    BlnCls_FolderSize = False
            End Select
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズに1ファイルのサイズを追加した時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeOneAdd(ByVal sender As Object, _
                                            ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズに1フォルダーを追加した時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeOneFolderAdd(ByVal sender As Object, _
                                                  ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            :
        Catch ex As Exception
        End Try
    End Sub

    ' フォルダーサイズ取得時に呼び出されるイベント関数.
    Public Sub Event_GetFolderSizeEndCallback(ByVal sender As Object, _
                                              ByVal e As NSDFile.NSDFolderSize.NSDFolderSizeEventArgs)
        Try
            ' 終了時のメッセージを表示します.
            MsgBox(Cls_FolderSize.GetEndStyleMsg(e.EndStyle))
        Catch ex As Exception
        End Try
    End Sub
End Class

Copyright (C) 2010-2012 Nihon System Developer Corp. All Rights Reserved.