如何从Module1.vb范围中观察Form1.vb变量?

时间:2017-01-17 04:14:00

标签: vb.net

在我的Module1.vb代码中,如果我将Watch分配给 Form1.Width ,我会收到错误“对非共享成员的引用需要对象引用”,如果我分配了一个注意 Form1 ,我收到错误“Form1是一个类型,不能用作表达式”

但是,Debug.Print Form1.Width有效。

我在这里读到 (https://msdn.microsoft.com/en-us/library/aa262343(v=vs.60).aspx) 该

  

Visual Basic为每个表单类创建一个隐藏的全局对象变量。   就好像Visual Basic已将以下声明添加到您的项目中:Public Form1 As New Form1

Visual Studio Watch是否坚持将Form1作为类而不是实例(如在Debug.Pring中)访问?

我错过了一些明显的东西吗?

1 个答案:

答案 0 :(得分:1)

编写自己的代码时,以这种方式使用Form1引用默认实例。调试器不支持默认实例。您需要将默认实例分配给字段或属性,然后观察它。

调试器不支持默认实例的一个原因可能是它们是线程特定的。如果你打破多个线程,然后想要观看默认实例,你会看到哪个线程?我想你可以默认使用UI线程,但是你不能再看其他任何东西了,它也可能不够明显。