首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

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

2012-02-22 
用VB2005写演示从子线程更新主线程数据遇到的问题用VB2005写的从子线程更新主线程数据的程序,在启动调试时

用VB2005写演示从子线程更新主线程数据遇到的问题
用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


[解决办法]
把 Public Sub UpDateProgress() 
放到模块中去.窗体作为变量传给该过程.

热点排行