十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
首先定义
创新互联坚信:善待客户,将会成为终身客户。我们能坚持多年,是因为我们一直可值得信赖。我们从不忽悠初访客户,我们用心做好本职工作,不忘初心,方得始终。10多年网站建设经验创新互联是成都老牌网站营销服务商,为您提供成都网站设计、成都网站制作、网站设计、H5建站、网站制作、品牌网站制作、重庆小程序开发公司服务,给众多知名企业提供过好品质的建站服务。
Public xlApp As Excel.Application
Public xlBook As Excel.Workbook Public xlSheet As Excel.Worksheet然后创建对象
xlApp = CreateObject("Excel.Application") '创建EXCEL对象
xlBook = xlApp.Workbooks.Open("文件路径") '打开已经存在的EXCEL工件簿文件
xlSheet = xlBook.Worksheets("sheet1")
Imports System.Threading
Public Class Form1
Dim t1, t2 As Thread
Dim tt1
Private Delegate Sub voiddelegate(ByVal i As Integer)
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Form2.Show()
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
t1 = New Thread(AddressOf test)
tt1 = 1
t1.Start()
tt1 = 2
t2 = New Thread(AddressOf test)
t2.Start()
' Timer1.Start()
End Sub
Private Sub updateui(ByVal i As Integer)
Form2.Label1.Text = i.ToString
Form2.Label2.Text = i.ToString
End Sub
'把循环放到线程中运行会好一些,其实主要事务是对窗体控件的操作时多线程意义不大,因为访问窗体的代码依然要在窗体线程中运行。
Private Sub test()
Dim d As voiddelegate = AddressOf updateui
For i = 0 To 9000
Me.Invoke(d, i)
Next
End Sub
'如果放在计时器中运行效果好的多
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Static i As Integer = 0
i += 1
If i 9000 Then Timer1.Stop() : i = 0
Form2.Label1.Text = i.ToString
Form2.Label2.Text = i.ToString
End Sub
End Class
'如果在另一线程中用Application.run 打开窗体确实能行,不过窗体间相互操作不起作用,这个尚待研究中。
题主是否想询问“vbnet同时执行多个任务怎么实现”?多线程操作。vbnet同时执行多个任务通过多线程操作实现,Visual Basic.net,属于计算机软件领域,是计算机中实现网络功能的编程语言。
不用多线程?
即使用多线程,也不会是“同时”执行,题主只要略懂一些计算机编译原理就能明白了。
不用多线程更不可能让两个过程同步执行了。
不过可以提供一个折衷的法子,示例如下:
Sub a()
'过程一
End Sub
Sub b()
'过程二
End Sub
Sub Timer1_Tick() '简写了,实际在VB.NET里不是这样的
Timer1.Enabled = False
a()
End Sub
Sub Button1_Click() '同样简写
Timer1.Enabled = True
b()
End Sub
利用了一个 Timer 控件,实现了这种伪同步(其实还是异步),a()、b() 两个过程相互独立切能并发运行。
注意:上述代码需要先把 Timer1 的 Enabled 属性设置为 False,Interval 属性要尽可能小。