我有以下代码:
Dim widthS = 792
Dim setW = Me.Controls("TableLayoutPanel" + CStr(x))
setW.Width = widthS - 26
但是每当我尝试时,我都会得到异常"Object reference not set to an instance of an object."
,我已经尝试了DirectCast()
但没有效果,有人有解决方案吗?
谢谢。
您需要
在 Dim
语句中实际声明变量类型。对于您标记为此的 VBA,它可能如下所示:
Dim widthS as Long
Dim setW as Control
Set setW = Me.Controls("TableLayoutPanel" + CStr(x))
widthS = 792
setW.Width = widthS - 26
编辑
听起来您正在使用 VB.Net。基本前提是相同的,但 VB.Net 中,您可以组合变量声明和实例化,如下所示:
Dim widthS as Long = 792