vb.net中多线程委托,net多线程与委托
vb.net环境下,如何将递归操作和多线程完美结合
.net 为了安全,默认不允许跨线程访问操作控件。只能谁创建了控件,谁操作。 这个textbox只能从主线程访问。 解决方案一般有两个 1. 使用委托机制。委托创建线程去访问 2. 设置Me.CheckForIllegalCrossThreadCalls = False 表示不检测跨线程错误
创新互联建站专业为企业提供雄县网站建设、雄县做网站、雄县网站设计、雄县网站制作等企业网站建设、网页设计与制作、雄县企业网站模板建站服务,十载雄县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
关于VB.NET中多线程和委托界面假死无响应的问题
并没有看出什么地方可能导致程序假死,这排版也太乱了.不妨调试一下程序,当出现你说的"假死"后暂停一下程序,看看线程都卡在哪里.
另外,从设计上来看,你这里并不需要多线程操作.
VB.net可以多线程控制同一个窗体及其控件吗
不可以,但是能够在主线程的基础上调用委托(Invoke)。(主线程会被占用)
例子:
Dim thr As Threading.Thread
Public Delegate Sub VoidDelegate()
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
thr = New Threading.Thread(AddressOf Where)
thr.Start()
End Sub
Public Sub Where()
Me.BeginInvoke(New VoidDelegate(AddressOf WhereThr))
End Sub
Public Sub WhereThr()
Me.TextBox.text="0123456789"
End Sub
(Invoke)这种情况下,主线程被占用,所有由主线程执行程序,都将被(wherethr函数执行结束)后执行。
VB.NET中的多线程和委托是什么关系? 能不能给我一个通俗易懂的范例,谢谢
委托,Delegate
就是让你处于这个线程里时,委托另一个线程去执行一些动作
我简单举一个写richtextbox的例子:
////////////////////////////////////////////
'创建一个名为 MySubDelegate 的委托。
Delegate Sub MySubDelegate(ByVal txt As String)
'写信息到富文本主窗口
Private Sub txtW(ByVal txt As String)
Dim msgd As New MySubDelegate(AddressOf Me.txtW1)
Dim arg(0) As Object
arg(0) = txt
Me.Invoke(msgd, arg)
End Sub
'委托指向
Private Sub txtW1(ByVal txt As String)
Me.RichTextBox1.AppendText(txt)
End Sub
/////////////////////
这样,你在多线程应用时,在其他线程里用txtW(str)来写richtextbox,就不会产生错误了。不然,直接垮线程写richtextbox,可能会出现和UI线程的冲突。
关于vb.net 多线程和委托问题
Delegate Sub MySubDelegate(form As Form1)
Class class1
Sub Sub1(form As Form1)
form.Timer1.Enabled = True
form.Label1.Visible = True
MsgBox("kkk")
End Sub
End Class
Private Sub DelegateTest()
Dim c1 As New class1
Dim msd As MySubDelegate = AddressOf c1.Sub1
Me.Invoke(msd,Me)
End Sub
文章标题:vb.net中多线程委托,net多线程与委托
网站链接:http://ybzwz.com/article/dseejdc.html