Mein Background doWork
‚s Ereignis hat viele Codes es execute.Is möglich, den Beschriftungstext nach jedem Code zu ändern ausgeführt wird?Bezeichnung ändern Text von Background DoWork WPF VB.NET
Zum Beispiel:
Dim con As New SqlConnection("Data source=" & My.Settings.ip & "," & My.Settings.port & ";Network Library=DBMSSOCN;initial catalog=offpodb;User id=" & My.Settings.username & ";Password=" & My.Settings.password & ";")
con.Open()
If connected.Dispatcher.CheckAccess Then
connected.Content = "text"
Else
' i dunno what to use here as it is not the same as WinForms
End If
Was ist zu tun?
ODER
Bitte helfen Sie mir zu WPF VB.NET diese C# -Code zu konvertieren
Label1.Invoke((MethodInvoker)delegate {
Label1.Text = i.ToString() + "Files Converted";});
gut, wie soll ich 'ReportProgress' verwenden, wie ich den Etikettentext ändern möchte, nachdem jede Aufgabe in' DoWork' Ereignis abgeschlossen ist? Wie bereits erwähnt, haben meine bgworker viele Aufgaben, und ich will den Beschriftungstext ändern, nachdem jede task..how das zu tun? –
Sie rufen 'ReportProgress' nach jeder Aufgabe abgeschlossen ist. Die Argumente sind der Fortschritt in Prozent und ein beliebiger Benutzerstatus. Sie können alles passieren, z.B. Null, für die Prozent und ignorieren sie nur im 'ProgressChanged' Event-Handler. Der Benutzerstatus kann alles sein. In Ihrem Fall würde ich vorschlagen, dass Sie den Text übergeben, der im "Label" angezeigt werden soll. Im 'ProgressChanged' Event-Handler, erhalten Sie einfach, dass' String' und weisen es der 'Text' des' Etikett. – jmcilhinney
Schauen Sie sich mein Beispiel [hier] (http://www.vbforums.com/showthread.php?471889-Using-the-BackgroundWorker-Component) an. Sie können sehen, wie 'String' übergeben und verwendet werden kann. Statt einer Schleife haben Sie einfach mehrere diskrete Aufrufe von 'ReportProgress' mit jeweils anderem Text. – jmcilhinney