首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

在vs2005中这样的写法是异常的吗

2011-12-26 
在vs2005中这样的写法是错误的吗?for each obj as label in form.controls..nextform中有TEXTBOX 和LABEL,

在vs2005中这样的写法是错误的吗?
for each obj as label in form.controls
.

next
form中有TEXTBOX 和LABEL,这样写是不是无法排除TEXTBOX?我这么写之后就会报错无法将TEXTBOX 强制转换为LABEL,可是我根本就没要它转换啊。

[解决办法]
obj as label 这就是转换
[解决办法]
这样写,是试图把每一个Control类型的obj转成Label然后循环,因此失败。你可以这样来做:

VB.NET code
 
    For Each obj As Control In Me.Controls
      If (TypeOf (obj) Is Label) Then
        Console.WriteLine("aa")
      End If
    Next

[解决办法]
C# code
for   each (Label lb  in   form.controls )
[解决办法]
VB.NET code
        For Each obj As Object In Me.Controls            MsgBox(obj.text)            MsgBox(obj.name)            '这里根据Obj的名称或文本来决定你要做什么。        Next 

热点排行