winformDim mythread As System.Threading.Thread '窗体加载 Private Sub Frmmain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim mycalc As New calcdata(lblnews) mythread = New System.Threading.Thread(AddressOf mycalc.calcstat) End Sub '启动新线程操作excel Private Sub menucalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menucalc.Click mythread.IsBackground = True mythread.Start()
End Sub'所用对excel的操作都封装到calcdata类中了,lblmessage是lable控件显示提示信息(静态的)
Safe, Simple Multithreading in Windows Forms, Part 1 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms06112002.aspSafe, Simple Multithreading in Windows Forms, Part 2 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms08162002.asp
'窗体加载
Private Sub Frmmain_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles MyBase.Load Dim mycalc As New calcdata(lblnews)
mythread = New System.Threading.Thread(AddressOf mycalc.calcstat)
End Sub
'启动新线程操作excel
Private Sub menucalc_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles menucalc.Click mythread.IsBackground = True
mythread.Start()
End Sub'所用对excel的操作都封装到calcdata类中了,lblmessage是lable控件显示提示信息(静态的)
我把界面部分去掉,程序一切正常,因为我在运算时想给用户一提示,请指教
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms06112002.aspSafe, Simple Multithreading in Windows Forms, Part 2
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnforms/html/winforms08162002.asp
this.Invoke(my1);private void aaa()
{
this.textBox1.Text ="dddddddddddd";
}