用VB2005写演示从子线程更新主线程数据遇到的问题

视觉&物联智能 2008-05-02 09:03:00
用VB2005写的从子线程更新主线程数据的程序,在启动调试时出现以下问题:

在 System.NullReferenceException 中第一次偶然出现的“如何从子线程更新主线程数据.exe”类型的异常
在 System.InvalidOperationException 中第一次偶然出现的“System.Windows.Forms.dll”类型的异常

那是什么原因?
哪位高人给指点指点。
全部代码如下:
Imports System.Threading'命名空间声明
Public Class Form1

Public MyThread As Thread

   '从子线程更新进度条数据

Public Sub UpDateProgress()
Dim i As Integer
Dim Myvalue As Integer
Dim St As String
St = "当前模拟执行进度完成百分比:"
For i = 1 To 100 Step 1
Thread.Sleep(50)
Myvalue = i
Me.ProgressBar1.Value = Myvalue
Me.Label1.Text = St + Myvalue.ToString() + "%"
Next


End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim MyDelegate As New ThreadStart(AddressOf UpDateProgress)
Dim MyThread As New Thread(MyDelegate)

MyThread.Start()

End Sub
End Class
...全文
167 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
太谢谢您了!!!

调试成功了!!!!!!!!
华芸智森 2008-05-04
  • 打赏
  • 举报
回复
把 Public Sub UpDateProgress()
放到模块中去.窗体作为变量传给该过程.

16,554

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧