Вывод промежуточных результатов - Visual Basic .NET
Формулировка задачи:
Как выводить промежуточные результаты в TextBox при работающей программе? Просто присвоение срабатывает только по окончании работы программы.
Решение задачи: «Вывод промежуточных результатов»
textual
Листинг программы
- Imports System.ComponentModel
- Partial Public Class Page
- Inherits UserControl
- Private bw As BackgroundWorker = New BackgroundWorker
- Public Sub New()
- InitializeComponent()
- bw.WorkerReportsProgress = True
- bw.WorkerSupportsCancellation = True
- AddHandler bw.DoWork, AddressOf bw_DoWork
- AddHandler bw.ProgressChanged, AddressOf bw_ProgressChanged
- AddHandler bw.RunWorkerCompleted, AddressOf bw_RunWorkerCompleted
- End Sub
- Private Sub buttonStart_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
- If Not bw.IsBusy = True Then
- bw.RunWorkerAsync()
- End If
- End Sub
- Private Sub buttonCancel_Click(ByVal sender As System.Object, ByVal e As System.Windows.RoutedEventArgs)
- If bw.WorkerSupportsCancellation = True Then
- bw.CancelAsync()
- End If
- End Sub
- Private Sub bw_DoWork(ByVal sender As Object, ByVal e As DoWorkEventArgs)
- Dim worker As BackgroundWorker = CType(sender, BackgroundWorker)
- For i = 1 To 10
- If bw.CancellationPending = True Then
- e.Cancel = True
- Exit For
- Else
- ' Perform a time consuming operation and report progress.
- System.Threading.Thread.Sleep(500)
- bw.ReportProgress(i * 10)
- End If
- Next
- End Sub
- Private Sub bw_RunWorkerCompleted(ByVal sender As Object, ByVal e As RunWorkerCompletedEventArgs)
- If e.Cancelled = True Then
- Me.tbProgress.Text = "Canceled!"
- ElseIf e.Error IsNot Nothing Then
- Me.tbProgress.Text = "Error: " & e.Error.Message
- Else
- Me.tbProgress.Text = "Done!"
- End If
- End Sub
- Private Sub bw_ProgressChanged(ByVal sender As Object, ByVal e As ProgressChangedEventArgs)
- Me.tbProgress.Text = e.ProgressPercentage.ToString() & "%"
- End Sub
- End Class
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д