【发布时间】:2020-01-14 20:30:34
【问题描述】:
此代码是从 VB6 转换为 VB.Net:
Public prvMainForm = VB6Form
If prvMainForm IsNot Nothing Then
CObj(prvMainForm).StatusBar.Panels(1) = "Initializing Folders..."
End If
(我的代码很长,所以我刚刚添加了这个 if 块,这是实际错误发生的地方。)
错误出现在 If 语句内的单行中:
属性“项目”是“只读”
【问题讨论】:
-
显然您的意思是设置
.Panels(1)返回的对象的属性。所以指定该属性。 -
我在即时窗口中尝试了 .Panels(1),似乎应该是 .Panels(1).Text
-
在 VB6 中,该语句等同于
Set CObj(...).Panels(1) = ...。使用 Set 表示您打算替换对象而不是分配面板的 Text 属性。 VB.NET 放弃了对 Set 的支持,太含糊了。
标签: vb.net vb6-migration