Hi, ich habe einen Timer mit relativ langem Code. Dieser muss relativ
zeitgleich mit dem öffnen eines SerialPorts gestartet werden. Durch den
langen Code friert aber die UI kurz ein, wenn ich in Form.Load den Timer
starte.
Nun habe ich einen BackgroundWorker erstellt, welcher beim Start der
Anwendung aufgerufen wird:
1 | Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
2 |
|
3 | If BackgroundWorker1.IsBusy Then
|
4 | Return
|
5 | End If
|
6 | BackgroundWorker1.RunWorkerAsync()
|
7 |
|
8 | End Sub
|
und im BackgroundWorker wird der Timer gestartet:
1 | Private Sub BackgroundWorker1_DoWork(ByVal sender As System.Object, ByVal e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork
|
2 | Timer1.Start()
|
3 |
|
4 | End Sub
|
Der Timer wird auch gestartet, das hab ich über ein Label mit
1 | If Timer1.enabled = true
|
etc. getestet.
Aber der Code im Timer wird nicht ausgeführt. Dieser verarbeitet Daten
vom SerialPort und soll an diesen senden, es wird aber nichts gesendet.
Kann mir jemand einen Tip geben?
Danke