Hi all

I'm learning how to start a new thread so my functions and GUI not freezing, but I don't understand how to use it.

I have made a small program that says what I put into the textbox, and while it's speaking, I want to be able to slide the slide bar or move the GUI around. Right now I can only do it when the speak stops.

Here is my code:
Code:
Imports System.Speech.Synthesis.SpeechSynthesizer
Public Class Form1
    Dim sig As New Speech.Synthesis.SpeechSynthesizer()
    Dim rate As Double
    Dim StartTekst As String = "This is a test on how it sounds when the speech synthesizer says"
    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        txtboxSigTekst.Text = StartTekst
    End Sub
    Private Sub btnSigTekst_Click(sender As Object, e As EventArgs) Handles btnSigTekst.Click
        SigTekst()
    End Sub
    Private Sub SigTekst()
        sig.Speak(txtboxSigTekst.Text)
    End Sub
End Class
I have tried to insert a "dispatch" in the sub SigTekst (Dispatcher.BeginInvoke(New Action(AddressOf SigTekst))) but non of the different metodes I have tried, is working.
What am I doing wrong? Do I insert Dispatcher in the sub SigTekst or should it be in another place?

Can anyone help me to understand this? I think I better understand this if you could insert the code, as simple as possible, to start the sub in ad new thread.

-Salva