1

我有 vb.net 表单,可以打开另一个 vb.net exe 进行测试。我正在尝试测试加载 exe 时特定文本框是否具有焦点。

我的测试表单使用 Assembly.UnsafeLoadFrom(_path) 加载 exe 然后在新线程上运行 FormtoTest

我使用 System.Type.GetProperty() 和 GetFields() 函数来获取 FormtoTest 的所有输入字段及其属性。

然后我在输入字段列表中找到这个文本框,

但是当我调用 System.Type.GetProperty("Focused") 时,我得到一个错误:“跨线程操作无效:控制 'txtID' 从创建它的线程以外的线程访问。”

谢谢你的帮助!

4

1 回答 1

0

听起来您将需要使用代表

参考

http://msdn.microsoft.com/en-us/library/ms951089.aspx

这是在 C# 中,但也解释了基本概念。 http://www.codeproject.com/Articles/2083/The-key-to-multi-threaded-Windows-Forms-UI-interac

于 2012-11-20T19:09:51.187 回答