中的线程希望您可以验证我的假设或指向正确的方向。VB.NET通过标签引用
我正在开发一个小型GUI来监视可变直流电源。设备通过COM端口进行通信。为此,我创建了一个类来处理与PSU的通信。我想实现一种方法,其中调用表单(类)可以将2个标签引用传递给我的PSU类,它可以定期用电压和电流进行更新。
我已经计算出如何从主线程外部(使用Invoke)更新Label的文本,并且我已经计算出如何启动运行不带参数的方法的第二个线程。从我的阅读中,我只能将一个参数传递给参数化的线程启动。
我目前的做法是创建一个集合,并使项目成为我想要传递的那两个标签。创建和启动线程的方法接受(我认为是)指向两个标签有以下:
Public Sub monitor(ByRef vLbl As Label, ByRef aLbl As Label)
内部的子(一些错误检查等任务后)创建一个新的集合,并添加两个标签引用:
Dim coll As Collection = New Collection()
coll.Add(vLbl)
coll.Add(aLbl)
然后我在线程中传递coll。开始调用。
在另一个线程上实际运行的分,我打破了两个标签启动:
Dim _vLbl As Label = coll(0)
Dim _aLbl As Label = coll(1)
这是一个完善的解决问题的方法?我意识到我可以通过消除类方法并采取更多的过程来简化其中的一些方法,但我正在尝试开发我的PSU类参考,以供其他一些软件工具最终用作库。请原谅,如果我搞砸了术语,我一直没有这么做,并且试图自己教这些工作。
在此先感谢。
编辑:语法失败
我很欣赏反馈意见,我有点想到我的方法并不是最好的。在非常宽泛的笔画中,我想我会得到你在说的东西。我会试着找到一些关于如何做到这一点的信息,但是如果我找不到我能理解的任何东西,我可能会问一些问题。 – jd5684
在MSDN上找到了非常好的解释,感谢提示@John Wu – jd5684