日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
vb.net中多線程委托,net多線程與委托

vb.net環(huán)境下,如何將遞歸操作和多線程完美結(jié)合

.net 為了安全,默認(rèn)不允許跨線程訪問操作控件。只能誰創(chuàng)建了控件,誰操作。 這個textbox只能從主線程訪問。 解決方案一般有兩個 1. 使用委托機制。委托創(chuàng)建線程去訪問 2. 設(shè)置Me.CheckForIllegalCrossThreadCalls = False 表示不檢測跨線程錯誤

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供雄縣網(wǎng)站建設(shè)、雄縣做網(wǎng)站、雄縣網(wǎng)站設(shè)計、雄縣網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、雄縣企業(yè)網(wǎng)站模板建站服務(wù),十載雄縣做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。

關(guān)于VB.NET中多線程和委托界面假死無響應(yīng)的問題

并沒有看出什么地方可能導(dǎo)致程序假死,這排版也太亂了.不妨調(diào)試一下程序,當(dāng)出現(xiàn)你說的"假死"后暫停一下程序,看看線程都卡在哪里.

另外,從設(shè)計上來看,你這里并不需要多線程操作.

VB.net可以多線程控制同一個窗體及其控件嗎

不可以,但是能夠在主線程的基礎(chǔ)上調(diào)用委托(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)這種情況下,主線程被占用,所有由主線程執(zhí)行程序,都將被(wherethr函數(shù)執(zhí)行結(jié)束)后執(zhí)行。

VB.NET中的多線程和委托是什么關(guān)系? 能不能給我一個通俗易懂的范例,謝謝

委托,Delegate

就是讓你處于這個線程里時,委托另一個線程去執(zhí)行一些動作

我簡單舉一個寫richtextbox的例子:

////////////////////////////////////////////

'創(chuàng)建一個名為 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

/////////////////////

這樣,你在多線程應(yīng)用時,在其他線程里用txtW(str)來寫richtextbox,就不會產(chǎn)生錯誤了。不然,直接垮線程寫richtextbox,可能會出現(xiàn)和UI線程的沖突。

關(guān)于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://www.dlmjj.cn/article/dseejdc.html