'ME' 在 vb.net 的模块中无效

'ME' not valid within a module in vb.net

我正在尝试从 vb.net 中的模块内更新图表;
Me.Chart1.Series.Add("Profile")
Me.Chart1.Series("Profile").Color = Color.LightGray
......
但是我不断收到一条错误消息:'ME' 在模块中无效。 任何解决方法将不胜感激。亲切的问候。

Me表示Class的当前对象或实例。 Me 在表格内工作,因为表格是 Class 并且图表可能包含在表格中,因此可以找到它并对其进行操作。该图表不包含在模块中,因此 Me 在这里没有意义。此外,模块是一种特殊的 class,其中所有内容(包括模块)都是共享的,这就是为什么您也不能在其中使用 Me 的原因。

解决方案是将图表传递到模块中,或者在模块成员中存储对它的引用,或者简单地通过方法中的参数使用它:

' ... in the Module ...
Public Sub UpdateChart(ByVal c As Chart)
    c.Series.Add("Profile")
    c.Series("Profile").Color = Color.LightGray
    ' ... other code that use "c" ...
End Sub

在表单中,您可以这样调用它:

UpdateChart(Me.Chart1)