【问题标题】:Progress Bar to Report status of AD Search报告广告搜索状态的进度条
【发布时间】:2013-07-22 17:40:42
【问题描述】:

在我正在开发的程序中,用户可以通过资产 ID 标签在 AD 中搜索计算机。我所有这些工作都很好,但我想知道是否有办法通过进度条显示搜索的进度。

为了进行搜索,我遵循了这段代码,我的几乎完全相同。 http://msdn.microsoft.com/en-us/library/ms973834.aspx#dotnetadsearch_topic9

【问题讨论】:

    标签: vb.net active-directory


    【解决方案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() sub:

    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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多