Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 930939
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 15, 20262026-05-15T20:25:11+00:00 2026-05-15T20:25:11+00:00

What’s wrong in my code? It’s not updating the TextBox and the ProgressBar while

  • 0

What’s wrong in my code? It’s not updating the TextBox and the ProgressBar while deleting files.

Imports System.Windows.Threading
Imports System.IO
Class MainWindow
    Private Sub bt_Click(ByVal sender As Object,
        ByVal e As RoutedEventArgs) Handles bt.Click

        Dim sb As New System.Text.StringBuilder
        Dim files = IO.Directory.EnumerateFiles(
         My.Computer.FileSystem.SpecialDirectories.Temp, "*.*",
         SearchOption.TopDirectoryOnly)

        Dim count = files.Count

        pb.Minimum = 0
        pb.Maximum = count

        For i = 0 To count - 1
            Dim f = files(i)

            Dispatcher.BeginInvoke(
             New Action(Of String, Integer)(
             Sub(str, int)
                 tb.SetValue(TextBox.TextProperty, str)
                 pb.SetValue(ProgressBar.ValueProperty, int)
             End Sub),
            DispatcherPriority.Send,
            f, i + 1)

            Try
                File.Delete(f)
            Catch ex As Exception
                sb.AppendLine(f)
            End Try

            Dim exceptions = sb.ToString
            Stop
        Next

    End Sub
End Class
  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-15T20:25:12+00:00Added an answer on May 15, 2026 at 8:25 pm

    I got this working with the BackgroundWorker object. This places your work in a background thread, with calls to update the UI going through the ProgressChanged event. I also used Invoke instead of BeginInvoke within the work loop, which forces the loop to wait for the UI to become updated before it proceeds.

    Imports System.ComponentModel
    Imports System.IO
    
    Class MainWindow
        Private WithEvents bw As New BackgroundWorker
    
        Private Sub Button1_Click(ByVal sender As System.Object,
                ByVal e As RoutedEventArgs) Handles btn.Click
            pb.Minimum = 0
            pb.Maximum = 100
            bw.WorkerReportsProgress = True
            bw.RunWorkerAsync()
        End Sub
    
        Private Sub bw_DoWork(ByVal sender As Object,
                 ByVal e As DoWorkEventArgs) Handles bw.DoWork
            Dim sb As New System.Text.StringBuilder
            Dim files = IO.Directory.EnumerateFiles(
             My.Computer.FileSystem.SpecialDirectories.Temp, "*.*",
             SearchOption.TopDirectoryOnly)
    
            Dim count = files.Count
            Me.Dispatcher.BeginInvoke(Sub()
                                          tb.Text = "SOMETHING ELSE"
                                      End Sub)
            For i = 0 To count - 1
                Dim f = files(i)
                Dim myI = i + 1
                Me.Dispatcher.Invoke(
                               Sub()
                                   bw.ReportProgress(CInt((myI / count) * 100), f)
                               End Sub)
    
                'Try 
                '    File.Delete(f) 
                'Catch ex As Exception 
                '    sb.AppendLine(f) 
                'End Try 
    
                Dim exceptions = sb.ToString
                'Stop 
            Next
        End Sub
    
    
        Private Sub bw_ProgressChanged(
                 ByVal sender As Object, 
                 ByVal e As ProgressChangedEventArgs) Handles bw.ProgressChanged
            Dim fString As String = TryCast(e.UserState, String)
            Me.Dispatcher.BeginInvoke(Sub()
                                          tb.Text = fString
                                      End Sub)
        End Sub
    End Class
    
    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Ask A Question

Stats

  • Questions 474k
  • Answers 474k
  • Best Answers 0
  • User 1
  • Popular
  • Answers
  • Editorial Team

    How to approach applying for a job at a company ...

    • 7 Answers
  • Editorial Team

    What is a programmer’s life like?

    • 5 Answers
  • Editorial Team

    How to handle personal stress caused by utterly incompetent and ...

    • 5 Answers
  • Editorial Team
    Editorial Team added an answer Write a catch-all route (global.asax) and define a default action/controller… May 16, 2026 at 4:19 am
  • Editorial Team
    Editorial Team added an answer Your PyArg_ParseTuple should not use format O but O! (see… May 16, 2026 at 4:19 am
  • Editorial Team
    Editorial Team added an answer Like this: $('html, body').animate({ scrollTop: $(something).offset().top }); Alternatively, you can… May 16, 2026 at 4:19 am

Trending Tags

analytics british company computer developers django employee employer english facebook french google interview javascript language life php programmer programs salary

Top Members

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.