Note that there are some explanatory texts on larger screens.

plurals
  1. PO
    primarykey
    data
    text
    <p>You need to run this in a backgroundworker.</p> <p>Thats why your main UI freezes because its waiting for your code to finish. When you have a process that takes time to process, the only way to keep a responsive UI is to use multithreading.</p> <p><a href="http://msdn.microsoft.com/en-us/library/cc221403(v=vs.95).aspx" rel="nofollow">http://msdn.microsoft.com/en-us/library/cc221403(v=vs.95).aspx</a> - This one shows the basic on how to use the background worker.</p> <p>Keep in mind you can only change the value of a textbox for instance from the progresschanged event.</p> <p>What you can do is that have a button, that starts the backgroundworker, and then you put the code above in the Dowork event.</p> <pre><code>Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Try If BackgroundWorker1.IsBusy &lt;&gt; True Then BackgroundWorker1.RunWorkerAsync() End If Catch ex As Exception End Try End Sub Private Sub BackgroundWorker1_DoWork(sender As System.Object, e As System.ComponentModel.DoWorkEventArgs) Handles BackgroundWorker1.DoWork Dim worker As System.ComponentModel.BackgroundWorker = CType(sender, System.ComponentModel.BackgroundWorker) Try Dim x As Integer = 0 Do Dim POST As String = "authenticity_token=weZnH8V68yQSnQh91UtDZyatys%2FXtPQGN2vooyW4opY%3D&amp;email%5Bto_address%5D=intes2010%40gmail.com&amp;email%5Bfrom_name%5D=Test&amp;email%5Bfrom_address%5D=test%40email.com&amp;email%5Bnote%5D=today+is+a+big+success&amp;email%5Bcopy_yourself%5D=0&amp;id=house-of-pies-466226000" Dim request As HttpWebRequest Dim response As HttpWebResponse Dim tempCookies As New CookieContainer request = CType(WebRequest.Create("http://www.yellowpages.com/los-angeles-ca/mip/house-of-pies-466226000/send_email?lid=1000083727260"), HttpWebRequest) request.ContentType = "application/x-www-form-urlencoded" request.ContentLength = POST.Length request.Method = "POST" request.KeepAlive = True request.CookieContainer = tempCookies Dim requestStream As Stream = request.GetRequestStream() Dim postBytes As Byte() = Encoding.ASCII.GetBytes(POST) requestStream.Write(postBytes, 0, postBytes.Length) requestStream.Close() response = CType(request.GetResponse(), HttpWebResponse) tempCookies.Add(response.Cookies) Dim postreader As New StreamReader(response.GetResponseStream()) Dim thepage As String = postreader.ReadToEnd e.Result = CType(thepage, String) response.Close() x = x + 1 worker.ReportProgress(x) Loop While (x &lt;= 20) Catch ex As Exception End Try End Sub Private Sub BackgroundWorker1_ProgressChanged(sender As System.Object, e As System.ComponentModel.ProgressChangedEventArgs) Handles BackgroundWorker1.ProgressChanged Try Label1.Text = e.ProgressPercentage.ToString() Catch ex As Exception End Try End Sub Private Sub BackgroundWorker1_Completed(sender As System.Object, e As System.ComponentModel.RunWorkerCompletedEventArgs) Handles BackgroundWorker1.RunWorkerCompleted Try RichTextBox1.Text = e.Result.ToString() Catch ex As Exception End Try End Sub </code></pre> <p>Depeinding on how you want the data in richtextbox to be displayed, this needs also to be handeld in either progresschanged or the completed event.</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. VO
      singulars
      1. This table or related slice is empty.
    2. VO
      singulars
      1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload