0
嗨,我有一个程序运行线程并更新过程中的用户界面。我已经使用.invokerequired安全线程,一切都运行正常。在其中一个线程中,需要使用另一个线程(ListBox2.Items(index))
中创建的列表框中的项目的值,并且我正在使用dim item1 as integer =ListBox2.Items(index)
执行此操作。现在程序运行良好,并没有显示任何异常或错误消息,但是,如果我添加同一行的手表,我会收到以下消息+ AccessibilityObject {“跨线程操作无效:控制'ListBox2'从其他线程访问而不是它在其上创建的线程。“} System.InvalidOperationException。在线程中安全地获取列表框项目值
这是正常的吗?有没有一种方法来安全地获取位于另一个线程上的列表框中的项目的值?
使用委托,或者只是使用后台工作。 – Codexer 2013-05-05 06:54:24
您可以在此处查看更多:http://stackoverflow.com/questions/3969476/how-to-pass-a-variable-to-another-thread – Codexer 2013-05-05 07:00:02
我无法使用委托来获取(ListBox2的值)。项目(指数))。我不需要对UI进行任何更改,我只想以线程安全的方式获取ListBox2.Items(index)的值。 – user2334436 2013-05-05 09:04:10