189 8069 5689

vb.net在线,net vb

VB.NET 在线程里用textbox,提示 线程间操作无效: 从不是创建控件“TextBox2”的线程访问它

比如在一个窗体中的代码如下,在另一个线程中显示,隐藏窗口线程中的进度条:

成都创新互联主要从事成都网站设计、成都网站制作、网页设计、企业做网站、公司建网站等业务。立足成都服务贵州,十余年网站建设经验,价格优惠、服务专业,欢迎来电咨询建站服务:18980820575

Public Delegate Sub VoidDelegate() '定义委托类型

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)

Dim th1 As New System.Threading.Thread(AddressOf MyThreadProc) '声明线程

th1.Start() '启动线程运行 MyThreadProc过程

End Sub

Public Sub MyThreadProc() 

Me.Invoke(New VoidDelegate(AddressOf StartProgress)) '这个是在另一个线程里调用StartProgress过程,并在创建窗口的那个线程里运行。参数是委托类型。me也可以改成控件名。如果直接调用 StartProgress,那该过程就在与MyThreadProc同一线程中运行,那么StartProgress过程中修改的控件不是在本线程创建的,就会出错。

'。。。。。。。。。

Me.Invoke(New VoidDelegate(AddressOf ShutProgress))

End Sub

Public Sub ShutProgress()

ProgressBar1.Visible = False

End Sub

Public Sub StartProgress()

ProgressBar1.Visible = True

End Sub

'不是还有个Process控件吗,好像也是用来多线程操作的,还没研究,

我想用vb.net写个在线升级程序,上网找个代码,里面AxWebBrowser是什么?

AxWebBowser就是原来VB6里面那个COM控件WebBowser.直接在添加引用时选择COM一页进去找就是了

在线升级一般采用FTP方式.先由客户端发起更新请求,服务器返回现在最新的文件的清单、版本、修改日期等信息,客户端拿到和自己的文件进行比对,发现不同的就用FTP方式向服务器索取最新的,然后替换掉自己的就可以了。

VB.net!!在线等

楼上的太深奥了,我都没听过,汗颜,我就用菜鸟做法吧!

Dim a(29), i As Integer

Dim Rnd As New Random

For i = 0 To 29

a(i) = CInt(Rnd.Next(50, 100))

Next

'生成的分数已经完成, 存储在数组中

Dim count(4) As Integer

Dim j As Integer

For j = 0 To 4

count(j) = 0

Next

For i = 0 To 29

If a(i) = 90 Then

count(0) = count(0) + 1

ElseIf a(i) = 80 And a(i) 90 Then

count(1) = count(1) + 1

ElseIf a(i) = 70 And a(i) 80 Then

count(2) = count(2) + 1

ElseIf a(i) = 60 And a(i) 70 Then

count(3) = count(3) + 1

ElseIf a(i) 60 Then

count(4) = count(4) + 1

End If

Next

Response.Write("等级A的人数是:" count(0) "/br")

Response.Write("等级B的人数是:" count(1) "/br")

Response.Write("等级C的人数是:" count(2) "/br")

Response.Write("等级D的人数是:" count(3) "/br")

Response.Write("等级E的人数是:" count(4) "/br")

程序我亲自调试过,都是正确的! 直接将本部分代码贴到pageload事件里就行


当前文章:vb.net在线,net vb
当前路径:http://jkwzsj.com/article/hohpcg.html

其他资讯