vb.net多线程ui问题
vb.net吧
全部回复
仅看楼主
level 2
sqlfool 楼主
我百度了下,关于这方面的知识很少,特来请教各位大牛
多线程post请求多个不同网页,然后返回其页面的源码,我的代码如下。
遇到的问题:我加入多线程不行。。。不知道是不是我的代码错了
代码如下:
Imports System
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Threading
Public Class Form1
Dim i As String
Dim ii As String
Dim t As Thread
Private Delegate Sub voiddelegate(ByRef i As String, ByRef ii As String)
Private Sub Form1_Load(sender As Object, e As System.EventArgs) Handles Me.Load
i = "http://www.baidu.com" '这个是目标地址
ii = "xxx" 'xxx是用户名和密码
End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
t = New Thread(AddressOf test)
t.Start()
End Sub
Private Sub updateui(ByRef i As String, ByRef ii As String)
Me.TextBox1.Text = postHtml(i, ii)
End Sub
Private Sub test()
Me.Invoke(New voiddelegate(AddressOf updateui), i, ii)
t.Abort()
End Sub
Function postHtml(ByRef htmlUrl As String, ByRef htmlDate As String) '这个是post请求函数
Dim request As HttpWebRequest = WebRequest.Create(htmlUrl)
Dim fanhui As String
request.Method = "POST"
Dim postData As String = htmlUrl
Dim byteArray As Byte() = Encoding.UTF8.GetBytes(htmlDate)
request.ContentType = "application/x-www-form-urlencoded"
request.ContentLength = byteArray.Length
Dim dataStream As Stream = request.GetRequestStream()
dataStream.Write(byteArray, 0, byteArray.Length)
dataStream.Close()
Dim response As WebResponse = request.GetResponse()
dataStream = response.GetResponseStream()
Dim reader As New StreamReader(dataStream)
Dim responseFromServer As String = reader.ReadToEnd()
fanhui = (responseFromServer)
Return fanhui
Console.ReadLine()
reader.Close()
dataStream.Close()
response.Close()
End Function
End Class
2015年07月18日 10点07分 1
level 12
我已经看到了
2015年07月18日 10点07分 2
?什么?
2015年07月18日 10点07分
level 11
人家已经提供了控件给你了。。。
2015年07月21日 07点07分 3
1