我在Visual Studio 2008中使用vb.net。我在模块中设置了一个public sub,我试图让多个线程用于更新富文本框。
我通常会使用ME.INVOKEREQUIRED
....但它告诉我“ME”在模块内部无效。
有人可以请我指出正确的方向吗?
答案 0 :(得分:2)
您需要检查InvokeRequired
实例的RichTextBox
属性。
答案 1 :(得分:2)
没错。 VB Module
是一个静态类,Me
关键字对它没有意义。您需要class
的实例才能使用Me
。如果你要去cal InvokeRequired
,它也必须从Control派生。您可能需要从模块中创建并打开Form
。
查看这篇关于Accessing Controls from Worker Threads的VB文章,以便开始使用。
顺便说一下,我认为模块是一个可怕的想法,不应该在应用程序的入口点代码之外使用。静态类很有用,但模块不仅是静态的,而且是完全全局的。即所有成员都可以在全球范围内访问。这种情况可能会成为问题......