对象引用未设置为对象的实例[VB.NET]
在对象引用未设置为对象的实例[VB.NET],vb.net,ctype,Vb.net,Ctype,在c.Enabled=bb中突出显示时出错 (对象引用未设置为对象的实例。) 但是当我使用checkbox1.enabled=b而不是c.enabled=b时,效果很好 因此,正如我所看到的,不是b的错误,对吗 &如何解决此问题?两个可能的原因。for循环将创建以下控件名称: “复选框0” “复选框1” “复选框2” 也许你想要1-3或者0-1 也许您希望递归地查找复选框,然后可以使用find: Public Class Form1 Private Function AllEnable
c.Enabled=b
b中突出显示时出错
(对象引用未设置为对象的实例。)
但是当我使用checkbox1.enabled=b
而不是c.enabled=b
时,效果很好
因此,正如我所看到的,不是b
的错误,对吗
&如何解决此问题?两个可能的原因。for循环将创建以下控件名称:
find
:
Public Class Form1
Private Function AllEnabled(ByVal b As Boolean) As Boolean
For i As Integer = 0 To 2
Dim c As CheckBox = CType(Me.Controls("CheckBox" & i.ToString), CheckBox)
c.Enabled = b
Next
End Function
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Call AllEnabled(False)
End Sub
End Class
但只是
Call AllEnabled(False)
试试这个:
AllEnabled(False)
我猜当I=0时,这个问题就解决了?你的表格上有支票箱0吗?我想也没有。查看行
Dim c As CheckBox=CType(Me.Controls(“CheckBox”&i.ToString),CheckBox)。。。c可能什么都不是只是试着为您调试它,而我在Dim c as复选框行中失败了。。。您也可以发布web表单的asp代码吗?没有复选框0,但我尝试了[for loop]1到2&相同result@markp3rry这是全部代码我是指网页中的代码-控制.Works!的html标记,谢谢,但是你能解释一下
ctrl(0)
是什么意思吗?为什么zero@Zaid:我在我的代码片段中对其进行了注释,ControlCollection.Find
返回一个控件数组。当找不到具有给定名称作为键的控件时,它为空(Length=0
)。因为我假设只有一个复选框有这个名字,所以我只选了第一个ctrl(0)
为我提供了控件数组中的第一个控件,因为在.NET.ops中数组是以零为基础的,所以它可以工作,原因是复选框在组框中谢谢^
AllEnabled(False)
For Each ctl In Me.Controls
If TypeOf ctl Is CheckBox Then
ctl.Enabled = b
End If
Next