0

私が取り組んでいるプログラムでは、ユーザーは資産 ID タグを介してコンピューターの AD を検索できます。私はすべて正常に動作していますが、進行状況バーを介して検索の進行状況を表示する方法があるかどうか疑問に思っています。

検索を行うために、私はこのコードに従いましたが、私のものはほとんど同じです。 http://msdn.microsoft.com/en-us/library/ms973834.aspx#dotnetadsearch_topic9

4

1 に答える 1

1

リンクで提供されている例全体を使用し、バックグラウンド スレッドで検索を実行していると仮定すると、ProgressBar1 という名前の進行状況バーを追加して、これを試してください。

行の下:

Private Delegate Sub displayResult(ByVal textEntry As String)

次の行を追加します。

Private Delegate Sub maxProgress(ByVal maxProgress As Integer)

これらの行の下に:

Public Event ResultFound(ByVal result As SearchResult)
Public Event SearchCompleted(ByVal entriesFound As Integer)

次の行を追加します。

Public Event StartProgressBar(ByVal maxProgress As Integer)

StartSearch()次のコードをサブに追加します。

Dim queryResults As SearchResultCollection
RaiseEvent StartProgressBar(queryResults.Count)

次のプロシージャを追加します。

Private Sub StartProgress(ByVal maxProgress As Integer) Handles bkg.StartProgressBar
    Dim start as New maxProgress(AddressOf UpdateProgress)
    Me.Invoke(start, New Object() {maxProgress})
End Sub

Private Sub UpdateProgress(ByVal maxProgress as Integer)
    ProgressBar1.Maximum = maxProgress
    ProgressBar1.Step = 1
End Sub

bkg_ResultFound最後に、この行をサブ(Ifブロックの外側)に追加します

ProgressBar1.PerformStep()
于 2013-07-22T18:24:10.847 に答える