フォームにプログレスバーが表示されていません。Backgroundworker ReportProgress発生していますが、ProgressBarが変更されていません
私は電子メールの送信ボタンをクリックすると、この:
Public Sub SendMail()
If CheckSettings() = False Then Exit Sub
BackUpEbillFile()
LockForm(True)
StatusBars(1, "Sending emails...")
ProgressBar1.Maximum = intInvoicesToSend
BackgroundWorker1.RunWorkerAsync()
End Sub
私は、次のイベントがありますSendBillsで
Private Sub BackgroundWorker1_DoWork(sender As Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
e.Result = SendBills()
End Sub
Private Sub BackgroundWorker1_ProgressChanged(sender As Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged
Console.WriteLine("I DID IT MA!!!!1 status: " & ProgressBar1.Value)
ProgressBar1.PerformStep()
Console.WriteLine("I DID IT MA!!!!2 status: " & ProgressBar1.Value)
End Sub
、メールクラスであり、私は次の操作を行います。
smtp.Send(msg)
Console.WriteLine("I DID IT PA!!!! count: " & iCount)
frmBilling.BackgroundWorker1.ReportProgress(iCount)
私の問題は、ProgressChangedのProgressBar1.PerformStep()にあります。進捗状況は変わりましたが、Progressbar1は変化していません。それはゼロのままです。
- intInvoicesToSendが(16歳)16
- ProgressBar1.Minimum = 0
- ProgressBar1.Maximum = intInvoicesToSend
- あるProgressBar1.Step = 1
ここから私のコンソールでありますconsole.writelines:
I DID IT PA !!!!カウント:0
を私はそれが1つの状態を!!!! MA DID:0
私はそれが2つの状態!!!! MA DID:1
を私はPAそれをやった!!!!カウント:私はDID 1
をITが1つの状態!!!! MA:私はDID 1
をITが2つの状態を!!!! MA:2
を私はPAそれをやった!!!!カウント:私はDID 2
をITが1つの状態!!!! MA:私はDID 2
をITが2つの状態を!!!! MA:3
を私はPAそれをやった!!!!カウント:私はそれが1つの状態を!!!! MA DID 3
:3
を私はそれが2つの状態!!!! MA DID:4
は、誰もが私が間違ってやっている何を教えてもらえますか? ありがとう!
なぜリターンはここでは機能しませんか? ProgressBar1.Maximum = intInvoicesToSend(16でした)ProgressBar1.Step = 1はすべて異なる行にあります... – ErocM
2つのリターン(空白行を挟んで)または異なるフォーマット(私は自分の編集で行って、それを読むのが簡単だと思っているので、リストに入れてください...) –
LockFormは何があってもうまくいくようです。 –